我有一个相当混乱的问题。我实际上只做了一天的网络,所以请原谅我,如果我犯了一个愚蠢的错误,我深表歉意。我的问题是我无法以编程方式访问 URL,我可以通过复制粘贴到 chrome 中访问该 URL。
我正在使用一个名为 jsoup ( http://jsoup.org/apidocs/ ) 的库,它从网站的原始 html 中解析文本。一般来说,我的目标是使用可以附加字符串的基本 url,并从中获取网页。我正在使用代码(编辑那些要求更多代码的人,我知道这仍然很稀疏,但这是错误之前的唯一代码)
String url = "https://www.google.com/search?q=definition+of+";
url += search; //search is the passed in string
Document doc = Jsoup.connect(url).get(); //url is the String in question
获取网页。我的最终目标是在搜索单词定义时使用此方法获取 chrome 搜索顶部框的文本。即此处顶部的框:https ://www.google.com/search?q=definition+of+apple
但是,当我尝试使用上面的链接作为我的 url 时,我遇到了一个问题,因为我得到了一个 org.jsoup.HttpStatusException,所以我认为这是一个网络问题。是什么导致这个 url 在输入 chrome 时有效,但在 Java 中无效?(我也不会反对以不同方式获取该框中的信息,因为我目前的方法感觉有点迂回)
完整的错误信息(编辑)
Exception in thread "main" org.jsoup.HttpStatusException: HTTP error fetching URL. Status=403, URL=https://www.google.com/search?q=definition+of+apple
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:435)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:410)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:164)
at org.jsoup.helper.HttpConnection.get(HttpConnection.java:153)
at test.Test.parseDef(Test.java:68)
at test.Test.main(Test.java:112)
无论谁回答,感谢您花时间帮助网络新手!