HTTP Get не использует порт

Я пытаюсь вызвать страницу в PHP с http_get:

$url = "http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446";
http_get($url, $appelOptions, $appelInfos);

Моя проблема в том, что это не работает каждый раз.

Я установил Wireshark, чтобы посмотреть, что я действительно посылаю, и нашел странную вещь. Иногда порт не используется для HTTP-запроса.

Когда это работает, у меня есть:

Hypertext Transfer Protocol
GET http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446 HTTP/1.1\r\n
    Request Method: GET
    Request URI: http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446
    Request Version: HTTP/1.1
User-Agent: PECL::HTTP/1.6.5 (PHP/5.2.4-2ubuntu5.7)\r\n
Host: mysite.fr:9090\r\n
Pragma: no-cache\r\n
Accept: */*\r\n
Proxy-Connection: Keep-Alive\r\n
Keep-Alive: 300\r\n
Connection: keep-alive\r\n
Date: Fri, 15 Jun 2012 16:40:46 +0200\r\n
Accept-Charset: utf-8\r\n
Accept-Encoding: gzip;q=1.0,deflate;q=0.5\r\n
\r\n

И когда это не так:

Hypertext Transfer Protocol
GET http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446 HTTP/1.1\r\n
    Request Method: GET
    Request URI: http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446
    Request Version: HTTP/1.1
User-Agent: PECL::HTTP/1.6.5 (PHP/5.2.4-2ubuntu5.7)\r\n
Host: mysite.fr\r\n
Pragma: no-cache\r\n
Accept: */*\r\n
Proxy-Connection: Keep-Alive\r\n
Keep-Alive: 300\r\n
Connection: keep-alive\r\n
Date: Fri, 15 Jun 2012 16:40:34 +0200\r\n
Accept-Charset: utf-8\r\n
Accept-Encoding: gzip;q=1.0,deflate;q=0.5\r\n
\r\n

Я пытался вызвать страницу с помощью wget, и она всегда работает:

wget http://mysite.fr:9090/neolane-webservice/campagnesclient/Coclico=1135446

Так что я предполагаю, что мой идентификатор проблемы из-за конфигурации Apache, но я не знаю, где искать. Не могли бы вы мне помочь, пожалуйста?

1 ответ

Вам нужно будет установить порт в $appelOptions массив.

$appelOptions['port']=9090;
http_get($url, $appelOptions, $appelInfos);

к несчастью http_get похоже не соблюдает синтаксис:port в URL

Другие вопросы по тегам