0

http_get を使用して PHP でページを呼び出そうとしています:

$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の設定が原因で私の問題IDを推測していますが、どこを見ればいいのかわかりません。私を手伝ってくれますか ?

4

1 に答える 1

0

$appelOptions配列にポートを設定する必要があります。

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

残念ながらhttp_get、URL の :port 構文を尊重していないようです

于 2012-07-05T19:45:53.713 に答える