Java 使用Jsoup登录到pastebin

Java 使用Jsoup登录到pastebin,java,jsoup,Java,Jsoup,我正在尝试连接到pastebin并登录。当我运行此脚本时,HTML不会显示我已登录,并且我的配置文件ID不在脚本中的任何位置 Response loginResponse; Document cur = null; Map<String, String> loginCookies; loginResponse = Jsoup.connect("http://www.pastebin.com/login.php") .data(

我正在尝试连接到pastebin并登录。当我运行此脚本时,HTML不会显示我已登录,并且我的配置文件ID不在脚本中的任何位置

    Response loginResponse;
    Document cur = null;
    Map<String, String> loginCookies;

    loginResponse = Jsoup.connect("http://www.pastebin.com/login.php")
            .data("user_name", name)
            .data("user_password", pwrd)
            .data("submit", "Login")
            .method(Method.POST)
            .execute();



    if (loginResponse != null) 
    {

        loginCookies = loginResponse.cookies();

        try 
        {
            cur = Jsoup.connect("http://www.pastebin.com")
                    .cookies(loginCookies).get();

        } catch (Exception e) {
            e.printStackTrace();
        }

        for (Map.Entry<String, String> entry : loginCookies.entrySet())
        {
            System.out.println(entry.getKey() + "/" + entry.getValue());
        }

        String s = cur.body().html();
        System.out.println(cur.body().html());
        System.out.println(cur.body().html().contains("Arhowk"));

    }
响应登录响应;
文档cur=null;
地图登录库;
loginResponse=Jsoup.connect(“http://www.pastebin.com/login.php")
.数据(“用户名”,名称)
.数据(“用户密码”,pwrd)
.数据(“提交”、“登录”)
.method(method.POST)
.execute();
if(loginResponse!=null)
{
loginCookies=loginResponse.cookies();
尝试
{
cur=Jsoup.connect(“http://www.pastebin.com")
.cookies(loginCookies.get();
}捕获(例外e){
e、 printStackTrace();
}
对于(Map.Entry:loginCookies.entrySet())
{
System.out.println(entry.getKey()+“/”+entry.getValue());
}
字符串s=cur.body().html();
System.out.println(cur.body().html());
System.out.println(cur.body().html().contains(“Arhowk”));
}

我相信所有的数据字段都是正确的,php显示了正在使用的POST方法,应该可以。我对这一点相当陌生,我看到了很多有答案的页面,但我没有看到任何解决方案。

试着像浏览器一样使用它;)

  • 打开页面:

    loginResponse = Jsoup.connect("http://www.pastebin.com/login.php")
            .method(Connection.Method.GET)
            .execute();
    
  • 登录

    loginResponse = Jsoup.connect("http://www.pastebin.com/login.php")
            .data("submit_hidden", "submit_hidden")
            .data("user_name", name)
            .data("user_password", pwrd)
            .data("submit", "Login")
            .cookies(loginResponse.cookies()) // pass cookies
            .method(Method.POST)
            .execute();
    
  • 结束


  • 好的,所以我可以很好地登录,但是现在,当我尝试用相同的cookies在不同的URL创建一个新文档时,它会将我踢出登录。(不是pastebin,我不能发布的其他网站)不是100%确定。我想我需要提出一个新问题。我需要通过Jsoup中的href更改目录,除非阅读本文的人知道如何更改