阅读了一些例子后,我想实现一个爬虫的帮助转移与登录,如:
https://target.helpshift.com/login/?next=/admin/issues/
import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class JsouptTest {
public static void main(String[] args) throws Exception {
int x = 1;
Connection.Response loginForm = Jsoup.connect("https://target.helpshift.com/login/?next=%2Fadmin%2Fissues%2F" + x + "%2F")
.method(Connection.Method.GET)
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0")
.execute();
Document document = Jsoup.connect("https://target.helpshift.com/login/")
.data("cookieexists", "false")
.data("username", "email@example.com")
.data("password", "123456")
.userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0")
.cookies(loginForm.cookies())
.post();
System.out.println(document);
}
}
但是,我得到这个错误:
线程“main”组织中出现异常。jsoup。HttpStatusException:获取URL时发生HTTP错误。状态=403,URL=https://target.helpshift.com/login/在org。jsoup。帮手HttpConnection$响应。在org上执行(HttpConnection.java:537)。jsoup。帮手HttpConnection$响应。在org上执行(HttpConnection.java:493)。jsoup。帮手HttpConnection。在org上执行(HttpConnection.java:205)。jsoup。帮手HttpConnection。在edu发布(HttpConnection.java:200)。utfpr。帮助爬虫。JsouptTest。main(jsouptset.java:32)
如果您检查请求标题,您将看到它像您所做的那样发送cookie,但它也在表单数据中包含cookie的一部分。将此添加到您的第二个请求中
.data("_csrf_token", loginForm.cookie("_csrf_token"))
问题内容: 如何通过jsoup登录? 我试过了,但是不起作用: 问题答案: 通常,登录网站需要两个步骤- 您发送请求以获取页面,然后从中提取一些值,例如会话ID等以及cookie。 您发送带有第1步中的值以及您的用户名和密码的请求。 要知道您需要发送哪些值,请在开发人员模式下使用浏览器(按F12键)并检查流量。更改字符串以匹配您的浏览器,因为某些站点将不同的页面发送到不同的客户端。
问题内容: 由于某些原因,当我使用正确的登录信息时,此代码将不允许我进入网站。该帖子登录页面的代码,说明我的代码没有工作。有人可以告诉我我忘记了什么或出了什么问题吗? 问题答案: 除了,并且,该网站requeires为登录两个额外的价值- 和。 您可以从第一个请求的响应中获取它们,如下所示- 并将其添加到(顺序并不重要)之后- 我还将字段添加到两个请求中- 一些站点对其进行测试并将不同的页面发送到
问题内容: 在此网站上,您可以输入您的学生卡号,然后显示该卡上还剩多少钱。我想使用JSOUP获得信息。这是我当前的代码,但是不起作用, 我没有太多经验,所以我不知道在哪里寻找问题。一些想法: 我应该使用还是? 在使用chrome devoloper工具时,发布数据是我使用功能发送的所有数据。但是,如果发送时出现错误,为什么? 我应该发送解密或加密的数据吗?(两者均在chrome devoloper
我试图登录使用领英J汤,我已经尝试了几种方法,但总是遇到错误403,我哪里出错了? 测试一 错误控制台 组织。jsoup。HttpStatusException:获取URL时发生HTTP错误。状态=403,URL=https://www.linkedin.com在org。jsoup。帮手HttpConnection$响应。在org上执行(HttpConnection.java:590)。jsoup
问题内容: 我正在尝试登录此网站:http : //deeproute.com 这是我的代码。 不幸的是,这只是以未登录状态返回同一页面。我究竟做错了什么? 问题答案: 您需要在发布前阅读表格!您缺少param subbera =登录。
问题内容: 我已经广泛阅读了有关此操作的信息,并尝试了许多不同的版本,但无法使其正常工作。 基本上,我只想登录ConEdison网站并抓取我的帐单记录。这是我所拥有的: 我知道该信息是正确的(尽管我不知道是否真的需要传递没有值的数据参数)。 我没有任何错误,只是打印了登录页面(https://apps.coned.com/cemyaccount/NonMemberPages/Login.aspx?