2013-08-30 2 views
1

Привет, я пытаюсь отправить запрос POST через CURL, но его ошибка:
«Не удалось подключиться к qaservices.carrental.com:443; Ошибка».Аутентификация Curl HTTP Post

Имя пользователя и пароль уже включен в заголовок мыло в XML-файле

<?php 
$filename = 'c:/v.xml'; 
$data = file_get_contents($filename); 
$url = 'https://qaservices.carrental.com/wsbang/HTTPSOAPRouter/ws9071'; 
$soap_do = curl_init(); 
curl_setopt($soap_do, CURLOPT_URL,   $url); 
curl_setopt($soap_do, CURLOPT_CONNECTTIMEOUT, 10); 
curl_setopt($soap_do, CURLOPT_TIMEOUT,  10); 
curl_setopt($soap_do, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($soap_do, CURLOPT_POST,   true); 
curl_setopt($soap_do, CURLOPT_HEADER,   0); 
curl_setopt($soap_do, CURLOPT_POSTFIELDS, $data); 

$result = curl_exec($soap_do); 
$err = curl_error($soap_do); 

if (curl_errno($soap_do)) 
{ 
    $result = 'ERROR -> ' . curl_errno($soap_do) . ': ' . curl_error($soap_do); 
} 
else 
{ 
    $returnCode = (int)curl_getinfo($soap_do, CURLINFO_HTTP_CODE); 
    switch($returnCode) 
    {  
     case 200:  
      break;  
     default:  
      $result = 'HTTP ERROR -> ' . $returnCode;   
      break; 
    } 
} 
curl_close($ch); 
echo $result; 
?> 

Когда я пытаюсь отправить HttpWebRequest в vb.net это работает. копия кода в vb.net является

 doc.Load("c:/v.xml") 
     Dim content As String = doc.InnerXml 
     Dim urlEncoded As String = content 
     Dim encodedRequest As Byte() = New ASCIIEncoding().GetBytes(urlEncoded) 
     Dim request As HttpWebRequest = DirectCast(WebRequest.Create("https://qaservices.carrental.com/wsbang/HTTPSOAPRouter/ws9071"), HttpWebRequest) 
     request.Method = "POST" 
     request.Accept = "*/*" 
     request.ContentType = "application/x-www-form-urlencoded" 
     ' request.UserAgent = "Custom REST client v1.0" 
     request.ContentLength = encodedRequest.Length 
       request.Proxy.Credentials = CredentialCache.DefaultCredentials 
     Dim reqStream As Stream = request.GetRequestStream() 
     reqStream.Write(encodedRequest, 0, encodedRequest.Length) 
     reqStream.Flush() 
     reqStream.Close() 

     Dim response As HttpWebResponse = (request.GetResponse()) 

     Dim responseStream As Stream = response.GetResponseStream() 
     Dim streamReader As New StreamReader(responseStream) 


     Dim responseContent As String = streamReader.ReadToEnd 

Я думаю, что он должен сделать что-то в настройке прокси-верительных Может кто-нибудь, пожалуйста, руководство меня в правильном пути

ответ

0

Просьба о подключении к Интернету из curl/php была отказана сервером Windows. Некоторое приложение не microsoft, такое как fiddler, esclipse, maven, не будет подключаться к Интернету, если ваш компьютер подключен к сети Windows. Вам нужно установить прокси-сервер cntlm, который добавит вам заголовок, чтобы он мог подключиться к Интернету. Я сконфигурировал cntlm посмотреть порт 3127

В приведенном выше коде я добавил $ proxy = '127.0.0.1:3127'; curl_setopt ($ soap_do, CURLOPT_PROXY, $ proxy);

Надеется, что это поможет, если кто-то имеет проблему для подключения к сети с помощью визуальных PHP в сети окон

0

ли оба SSL сертификаты действительны на обоих хоста и ваш узел? Если нет, добавьте следующие параметры. Это приведет к обходу проверки SSL и позволит вам соединить

curl_setopt ($soap_do, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt ($soap_do, CURLOPT_SSL_VERIFYPEER, 0); 
+0

Я попробовал это, но до сих пор не работаю – Neo

+0

Вставить вывод 'print_r (curl_getinfo ($ soap_do));' –

+0

Массив ([url] => https://qaservices.carrental.com/wsbang/HTTPSOAPRouter/ws9071 [content_type] => [http_code] => 0 [header_size] => 0 [request_size] => 0 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 1.498 [namelookup_time] => 0.499 [connect_time] => 0 [pretransfer_time] => 0 [size_upload] => 0 [size_download] => 0 [speed_download] => 0 [speed_upload] => 0 [download_content_length] => -1 [upload_content_length] => -1 [starttransfer_time] => 0 [redirect_time] => 0 [certinfo] => Array() [primary_ip] = > 170. 225.0.83 [primary_port] => 443 – Neo

 Смежные вопросы

  • Нет связанных вопросов^_^