使用HttpClient抓取网页,返回状态400此错误是什么原因?

发布于 2021-11-21 04:48:48 字数 63 浏览 836 评论 5

使用HttpClient抓取网页,有些网站能够正常返回 ,有的却返回不了,发现状态是400。不知道有人遇到过没有?

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

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

发布评论

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

评论(5

伴我心暖 2021-11-25 14:58:47

我用的版本是最新的4.2.3,百度了一下怎么设置Header发现几乎都是3.x版本的。看了官方文档,在请求的时候设置Header的方法是

httpClient.addRequestInterceptor(new HttpRequestInterceptor() {

            @Override
            public void process(HttpRequest request, HttpContext context)
                    throws HttpException, IOException {
                    request.addHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)");
            }
});

瀞厅☆埖开 2021-11-25 14:36:49

貌似没用。代码中,我是这样设置 UserAgent的:
request.addHeader("User-Agent","Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)");

但网页上得到后,显示user-agent:Apache-HttpClient/4.2.3 (java 1.5)

背叛残局 2021-11-25 00:00:01

再模拟一下相应的
userAgent数据吧,还有来源这些,劲量的模拟完全

一笔一画续写前缘 2021-11-22 16:47:35

不好意思。我的问题是在Java中,用的Apache HttpComponents

悟红尘 2021-11-21 14:47:16

有些网站会验证
userAgent信息。你用HttpWebRequest(C#)就行了

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文