当我从浏览器调用 API 时,它返回状态代码 200 和 JSON 对象。但是,如果我从 Java/JSoup 调用 API,它会返回状态代码 500 和“HTTP 获取 URL 时出错,Status=500”
String json = Jsoup.connect(url)
.ignoreContentType(true)
.timeout(5000)
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.120 Safari/535.2")
.ignoreContentType(true)
.execute()
.body();
System.out.println(json);
最佳答案
在浏览器中,使用开发者模式查看 HTTP 请求的详细信息。
运行 Java 程序时,获取 HTTP 请求的调试日志(参见:Jsoup http logging)
比较请求的每个细节 - 确保所有 header 都相同,或者您确定它们不相关。
如果您有权访问服务器,请在服务器日志中查找消息,其中提供有关 500
原因的详细信息。
关于java - API 对于浏览器返回 200,对于 Jsoup 返回 500,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42119031/