如何解决 HTTP/1.1 400 错误请求

发布于 2024-12-09 02:03:19 字数 424 浏览 0 评论 0原文

所有,

我正在通过命令提示符使用 php 中的 simple_html_dom 访问网页,其中

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

$url 是 web-URL。 如果您的网址类似于 http://abc.com/xyz.html?s="一些文本” 然后我得到了正确的回应。 但如果 URL 的 get 参数中有空格,例如 http:// /abc.com/xyz.html?s=“一些文字”。

谁能帮我解决这个问题。

提前致谢。

All,

I am accessing a web-page through command prompt using simple_html_dom in php as

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

where $url is the web-URL.
If you URL is like http://abc.com/xyz.html?s="sometext"
Then i am getting proper response.
But I am getting HTTP/1.1 400 Bad Request if the URL has white space in the get parameter like http://abc.com/xyz.html?s="some text".

Can anyone please help me how to resolve this issue.

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

这个俗人 2024-12-16 02:03:19

您需要对参数进行编码:

$text = urlencode('some text');
$url = "http://abc.com/xyz.html?s=$text";
$page = file_get_html($url, false, $context); 

You need to encode the parameter:

$text = urlencode('some text');
$url = "http://abc.com/xyz.html?s=$text";
$page = file_get_html($url, false, $context); 
塔塔猫 2024-12-16 02:03:19

如果您自己生成该网址,则必须对查询值进行 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.

If you're generating that url yourself, you'll have to url_encode the query values:

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

which'll give you

http://example.com/xyz.html?s=some+text
                                  ^---spaces must be + in urls.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文