我正在尝试登录一个网站(https://dashboard.ngrok.com/user/login)使用jsoup。我对GET请求没有任何问题,但当我尝试使用凭证执行POST请求时,我收到:
HTTP错误获取URL。状态=400
我尝试为请求设置一个更好的头,使用我在连接发出POST请求时发送的相同参数。
Connection.Response loginForm = Jsoup.connect(url)
.method(Connection.Method.GET).execute();
System.out.println("GET");
Document document = Jsoup.connect(url)
.data("email", usr)
.data("password", psw)
.header("Host", "dashboard.ngrok.com")
.header("Origin", "https://dashboard.ngrok.com")
.referrer(url)
.cookies(loginForm.cookies())
.post();
我也尝试过这种类型的请求:
Response res = Jsoup.connect(url)
.data("email", usr, "password", psw)
.method(Method.POST)
.execute();
Map<String, String> loginCookies = res.cookies();
Document doc = Jsoup.connect(ngrok)
.cookies(loginCookies)
.get();
结果显示:
线程“main”组织中出现异常。jsoup。HttpStatusException:获取URL时发生HTTP错误。状态=400,URL=https://dashboard.ngrok.com/user/login
按照TDG的建议,我添加了csrf_令牌。结果代码如下:
CookieHandler.setDefault(new CookieManager());
Connection.Response loginForm = Jsoup.connect(url)
.method(Connection.Method.GET)
.userAgent(USER_AGENT).execute();
Document tok = loginForm.parse();
Element e = tok.select("input[name=csrf_token]").first();
String appToken = e.attr("value");
System.out.println(appToken);
Connection.Response login = Jsoup.connect(url)
.data("email", usr)
.data("password", psw)
.data("csrf_token", appToken)
.userAgent(USER_AGENT)
.header("Host", "dashboard.ngrok.com")
.header("Origin", "https://dashboard.ngrok.com")
.referrer(url)
.cookies(loginForm.cookies())
.method(Method.POST)
.execute();
谢谢你的帮助。
我正在尝试从站点获取数据。当我在Intellij IDEA中使用此代码时,一切正常,但当我在Android Studio和real device中使用此代码时,我得到: org.jsoup.HttpStatusException:获取URL的HTTP错误。状态=403 这是我的代码: 我找到的所有信息都是关于“userAgent()”方法的,但它没有帮助。 UPD:对不起,这是我的问题。正确的网址
我想连接到https://www.notebooksbilliger.de/但对于以下代码,它不起作用: 为什么我得到405状态?我如何解决这个问题? 非常感谢... 塞巴斯蒂安
这是我的同意模式 这是同意控制器获取声明 这是声明后的同意 同意html thymeleaf表单是 提交表格后。我得到这个错误 HTTP状态500-请求处理失败;嵌套异常是org.thymeleaf.exceptions.TemplateProcessing异常:异常评估SpringEL表达式:"user.providers"(提供者/createOrUpdateConentForm 组织。spr
上述代码不会返回“验证错误”,因为响应内容会返回“错误请求”。 我可以从read短语中读到它,但是有些客户希望在响应正文中出现错误消息。如果HTTP状态设置为OK,那么它将返回正确的消息。
问题内容: 我正在使用React Native开发一个简单的应用程序。我正在Android设备上对其进行测试。我创建了一个Node.js服务器来监听请求,该服务器运行在http:// localhost:3333 /上 。接下来,我要从index.android.js进行提取请求。下面是代码。 节点服务器上请求处理程序的代码如下 但是,获取请求无效。我在Chrome控制台中收到的错误是:TypeE
我使用JSOUB清理所有网页,如下所示: 但我的问题是,代码一开始运行良好。 过一会儿,它会停止,总是给我“HTTP错误获取URL。状态=503错误”。 当我添加时。ignoreHttpErrors(true)它可以正常工作,但不会刮伤web。 *搜索词是我想要搜索的任何关键字,num是我需要检索的页数。 有人能帮忙吗?这是否意味着谷歌阻止了我的IP刮取?如果是的话,请问有什么解决方案或者我如何替