Я столкнулся с очень странной ситуацией. Выполнение запроса в Postman для веб-службы работает правильно (x-www-form-urlencoded) с несколькими параметрами.Запрос PHP cURL не работает, но работает с Postman/curl из Bash
Однако, когда я делаю этот запрос с помощью PHP CURL запрос не с ответом, аналогичным образом:
Failed to Connect, fopen(http://10.0.0.8:8080/posts?foo=bar&bar=baz): failed to open stream: HTTP request failed!
Веб-сервис, кажется, написаны с использованием PHP, конечная точка такая, как http://foo.com/service.php.
Почтальон будет работать 100% времени, запрос cURL, сделанный от Bash, работает в 100% случаев.
Для меня крайне странно, что он пытается разрешить внутренний IP-адрес и что он только терпит неудачу при использовании библиотеки php cURL.
Надеюсь, кто-то может пролить свет на это или испытал это раньше. Я пробовал почти все варианты завитки, которые можно было бы заставить работать, но не повезло. Любая помощь будет оценена по достоинству.
Код:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, self::SERVICE_ENDPOINT);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $paramString);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FAILONERROR, false);
var_dump(curl_exec($ch));
die;
Многословный выход:
HTTP/1.1 200 OK
Date: Tue, 06 Jan 2015 09:27:20 GMT
Server: Apache
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Last-Modified: Tue, 06 Jan 2015 09:27:20 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Vary: Accept-Encoding
Content-Length: 324
Content-Type: text/html
Failed to Connect, fopen(http://10.0.0.8:8080/posts?foo=bar&bar=baz): failed to open stream: HTTP request failed!
Есть некоторые вещи, которые вы можете отправить с запросом на завивку, чтобы отладить то, что на самом деле происходит, попробуйте заменить это на свой 'curl_exec()': 'curl_setopt (CURLOPT_HEADER, true); curl_setopt (CURLOPT_FAILONERROR, FALSE); var_dump (curl_exec()); die; ' –
Вы использовали какой-либо прокси? – Priyank
Я не пользуюсь прокси-сервером. Добавлена отладочная информация в исходное сообщение. – user3135639