Не удается подключиться к сайту HTTPS с помощью cURL. Возвращает 0 контента длины. Что я могу сделать? - PullRequest
63 голосов
/ 25 ноября 2008

У меня есть сайт, который подключается с помощью cURL (последняя версия) к безопасному шлюзу для оплаты.

Проблема в том, что cURL всегда возвращает 0 контента длины. Я получаю только заголовки. И только когда я установил cURL для возврата заголовков. У меня есть следующие флаги.

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, $gatewayURI);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_POST, 1);

Возвращенный заголовок

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Date: Tue, 25 Nov 2008 01:08:34 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 0
Content-Type: text/html
Set-Cookie: ASPSESSIONIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; path=/
Cache-control: private

Я также пытался обрабатывать разные сайты, и они возвращали контент в порядке. Я думаю, что проблема может быть связана с соединением https.

Я говорил с компанией, и они бесполезны.

Кто-нибудь еще сталкивался с этой ошибкой и знает обходной путь? Должен ли я отказаться от cURL и попробовать использовать fsockopen()?

Спасибо. :)

Ответы [ 12 ]

0 голосов
/ 25 ноября 2008

В вашей веб-хостинговой компании, из которой вы тестируете безопасную связь для шлюза, может возникнуть проблема, из-за которой они могут не позволить вам сделать это.

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

или ваш IP-адрес должен быть в списке разрешенных IP-адресов для удаленного сервера, чтобы установить связь.

0 голосов
/ 25 ноября 2008

Вы используете метод POST, но предоставляете ли вы массив данных? Э.Г.

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...