Http帖子请求不起作用

时间:2013-01-22 10:14:32

标签: java http jsoup

我想在Google查询框中搜索以下内容:

http://www.cmu.edu/silicon-valley/ faculty directory

不幸的是,以下代码不起作用:

Jsoup.connect("http://www.google.com/search?hl=en&q=http%3A%%2F%%2F%www.cmu.edu%2F%silicon-valley%2F%20faculty20directory").get();

这也不是:

Jsoup.connect("http://www.google.com/search?hl=en&q=http%3A%%2F%%2F%www.cmu.edu%2F%silicon-valley%2F%20faculty20or20directory").get();

我在这里缺少什么?

修改无法正常工作表示Google未从浏览器中看到任何结果。

Jsoup.connect("http://www.google.com/search?hl=en&q=http%3A%"%2F%%2F%www.cmu.edu%2F%silicon-valley%2F%20faculty").get();

上面的代码有效。这相当于谷歌搜索“http://www.cmu.edu/silicon-valley/ faculty”。

编辑:我的程序中有以下技巧,因此bot-rule不是问题:

.userAgent("Mozilla")

1 个答案:

答案 0 :(得分:3)

Jsoup.connect("http://www.google.com/search?hl=en&q=http%3A%2F%2Fwww.cmu.edu%2Fsilicon-valley%2F+faculty+directory")导致403错误(禁止)谷歌forbis机器人访问其结果

如果要执行此操作,则必须更改用户代理字符串

doc = Jsoup.connect("http://www.google.com/search?hl=en&q=http%3A%2F%2Fwww.cmu.edu%2Fsilicon-valley%2F+faculty+directory").header("User-Agent", "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.52 Safari/537.17").get()应按预期工作,但可能违反Google的使用条款。