gpt4 book ai didi

java - 将应用程序移动到其他服务器时,JSOUP 行为会有所不同。为什么会出现404错误?

转载 作者:行者123 更新时间:2023-12-01 10:35:03 30 4
gpt4 key购买 nike

我寻找解决方案,但可能找错地方了。我创建 Jsoup 请求,它在一台计算机上工作,但在其他计算机上不起作用。我检查了其他请求 - 它们对两个请求都工作得很好。如何检测发生了什么?

因此,我创建应用程序并在主方法中放入一个 JSOUP 调用

String taskJson = Jsoup
.connect(
"https://aaa.com/job_listings/startup_ids?filter_data[last_active]="
+ "1"
+ "&filter_data[roles][]=" + "Marketing"
+ "&tab=find")
.timeout(10000).
userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0")
.ignoreContentType(true).execute().body();

它在我的 Win 7 PC 和 Debian PC 上运行良好。但是当我尝试从其他 Windows 2008 服务器(Amazon AWS EC2)运行它时,我得到了

Exception in thread "main" org.jsoup.HttpStatusException: HTTP error fetching URL. Status=404, URL=https://aaa.com/job_
listings/startup_ids?filter_data[last_active]=1&filter_data[roles][]=Marketing&tab=find
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:537)
at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:493)
at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:205)
at AngelJSOUPCheck.main(AngelJSOUPCheck.java:16)

嗯。我认为服务器设置可能有问题,并检查同一域上的登录表单请求。它运行完美。

Response getLoginForm = Jsoup.connect("https://aaa.com/users/login")
.timeout(10000)
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0")
.method(Method.GET).execute();

请注意,损坏的请求从不安全的区域获取数据

更新:

我尝试使用 HttpURLConnection 从 URL 获取数据 - 并获取:当尝试获取网站数据流时,未找到 IOEXception 文件。

我的下一次尝试是使用代理。我能够使用 HttpURLConnection 对象获取数据。然后我安装了 Firefox,它显示 404。我清理了 IE 的 cookie,它也显示 404。

看起来目标网站会检查 IP,如果它不可信,则需要连接 cookie 来请求。而来自其他地点的请求则不需要它们。可能稍后会检查...

最佳答案

相关网络服务器可能会阻止来自 Amazon AWS EC2 服务的 IP 地址。要检查这一点,您可以尝试在 shell 中使用 curl 或 wget 从 AWS 计算机获取内容。如果还是失败,您可以尝试使用代理访问该网站,看看是否有帮助。

关于java - 将应用程序移动到其他服务器时,JSOUP 行为会有所不同。为什么会出现404错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34808132/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com