0

全て、

PHPでsimple_html_domを使用して、コマンドプロンプトからWebページにアクセスしています

  $page = file_get_html($url, false, $context); 

$url はウェブ URL です。URL がhttp://abc.com/xyz.html?s= "sometext" のような場合、適切な応答が得られます。しかし、 http://abc.com/xyz.html?s= "some text" のように URL の get パラメータに空白が含まれていると、HTTP/1.1 400 Bad Request が発生します。

誰でもこの問題を解決する方法を教えてください。

前もって感謝します。

4

2 に答える 2

2

パラメータをエンコードする必要があります。

$text = urlencode('some text');
$url = "http://abc.com/xyz.html?s=$text";
$page = file_get_html($url, false, $context); 
于 2011-10-09T15:46:33.553 に答える
0

その URL を自分で生成している場合は、クエリ値を url_encode する必要があります。

$url = 'http://example.com/xyz.html?s=' . urlencode('some text');

それはあなたを与えるでしょう

http://example.com/xyz.html?s=some+text
                                  ^---spaces must be + in urls.
于 2011-10-09T15:47:58.910 に答える