Puzo0074 2017-12-09 03:28 采纳率: 0%
浏览 984

JSoup模拟登录成功后,请求相关页面出现权限不够问题

之前使用JSoup,带上账号、密码、验证码和cookie是可以请求任何页面的,但是这两天学校做了教务处系统升级维护后,一带上这个cookie请求一些有个人相关信息的页面就跳出要你重新登录的界面出来或者是直接显示你的权限不够,这可怎么办?
(我的cookie是在登录前使用“Connection.Response rs=Jsoup.connect(url).execute();”这样的方式得来的,然后在登录时带上它,不知道是不是因为这个问题)

  • 写回答

1条回答 默认 最新

  • qq_41227194 2017-12-09 03:35
    关注

    package jsoupTest;

    import java.io.IOException;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;

    import org.jsoup.Connection.Method;
    import org.jsoup.Connection.Response;
    import org.jsoup.Jsoup;

    public class JsoupTest {
    public static void main(String[] args) throws IOException {
    Map map = new HashMap<>();
    //map.put请根据自己的微博cookie得到

    Response res = Jsoup.connect("http://weibo.com/u/别人的主页id")
        .cookies(map).method(Method.GET).execute();
    String s = res.body();
    System.out.println(s);
    String[] ss = s.split("<script>FM.view");
    int i = 0;
    // pl_content_homeFeed
    // pl.content.homeFeed.index
    List<String> list = new ArrayList<>();
    for (String x : ss) {
    

    // System.out.println(i++ + "======================================");
    // System.out.println(x.substring(0,
    // x.length() > 200 ? 200 : x.length()));
    // System.out.println("===========================================");
    if (x.contains("\"html\":\"")) {
    String value = getHtml(x);
    list.add(value);
    System.out.println(value);
    }

    }
    // content=ss[8].split("\"html\":\"")[1].replaceAll("(\\\\t|\\\\n)",
    // "").replaceAll("\\\\\"", "\"").replaceAll("\\\\/", "/");
    // content=content.substring(0,
    // content.length()<=13?content.length():content.length()-13);
    // System.out.println(Native2AsciiUtils.ascii2Native(content));
    

    }

    public static String getHtml(String s) {
    String content = s.split("\"html\":\"")[1]
    .replaceAll("(\\t|\\n)", "").replaceAll("\\\"", "\"")
    .replaceAll("\\/", "/");
    content = content.substring(0,
    content.length() <= 13 ? content.length()
    : content.length() - 13);
    return Native2AsciiUtils.ascii2Native(content);
    }

    评论

报告相同问题?

悬赏问题

  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?