Java Android-Jsoup登录网站

Java Android-Jsoup登录网站,java,android,jsoup,Java,Android,Jsoup,有人能解释一下如何使用JSoup登录这个网站吗 我的代码目前(完全失败,我肯定我走错了方向): 类插入扩展异步任务{ @凌驾 受保护的字符串doInBackground(字符串…参数){ 试一试{ Connection.Response res=Jsoup.connect(“https://ecampus.smu.ac.kr/login/index.php") .数据(“用户名”,“201490008”,“密码”,“*****”) .method(Connection.method.POST)

有人能解释一下如何使用JSoup登录这个网站吗

我的代码目前(完全失败,我肯定我走错了方向):

类插入扩展异步任务{
@凌驾
受保护的字符串doInBackground(字符串…参数){
试一试{
Connection.Response res=Jsoup.connect(“https://ecampus.smu.ac.kr/login/index.php")
.数据(“用户名”,“201490008”,“密码”,“*****”)
.method(Connection.method.POST)
.execute();
Map loginCookies=res.cookies();
Document doc=Jsoup.connect(“http://ecampus.smu.ac.kr/“”.cookies(loginCookies.get();
元素=文件选择(“.course_name”);
arrayList.clear();
for(元素:元素){
add(element.text());
}
}捕获(IOE异常){
e、 printStackTrace();
}
返回null;
}

尝试使用类似的方法通过Jsoup发送POST请求并检索文档

首先:设置一个cookie管理器来处理所有cookie内容

CookieManager cm = new CookieManager();
CookieManager.setDefault(cm);
第二:为POST参数创建一个
Map

HashMap<String, String> postMap = new HashMap<String, String>();
postMap.put("username", "xxxxxxxxxxx");
postMap.put("password", "xxxxxxxxxxxxx");
postMap.put("rememberusername", "on");

userAgent会让服务器认为它不是移动设备。这应该可以工作。

你怎么知道该网站接受POST请求?我不知道我想是@cricket\u 007这个链接是我们univecity的链接,我想把我的应用程序连接到这个链接。2天前这个代码已经工作了,但今天它不工作。@cricket\u 007它不工作。@cricket\u 007ed接受POST请求,但对于需要考虑的小复选框,它还有一个名为
rememberName
的附加参数……而且很可能您还必须为请求设置附加的标题(如
http://ecampus.smu.ac.kr/
as
Referer
等)
HashMap<String, String> postMap = new HashMap<String, String>();
postMap.put("username", "xxxxxxxxxxx");
postMap.put("password", "xxxxxxxxxxxxx");
postMap.put("rememberusername", "on");
String userAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36";
String referer = "http://ecampus.smu.ac.kr/";
Connection.Response res = Jsoup.connect("https://ecampus.smu.ac.kr/login/index.php")
        .data(postMap)
        .userAgent(userAgent)
        .referrer(referer)
        .method(Connection.Method.POST)
        .execute();

Document doc = res.parse();