Java 访问登录的html
最近,我决定尝试创建一个java程序,在登录网站后检索网页的源代码。我搜索了这么多线程,发现了很多(有用的)答案,但是我很难理解为什么我的代码只会返回一个未登录的网页文档。我假设使用来自登录的cookie时出错,但我不确定。感谢您的帮助Java 访问登录的html,java,html,web,jsoup,Java,Html,Web,Jsoup,最近,我决定尝试创建一个java程序,在登录网站后检索网页的源代码。我搜索了这么多线程,发现了很多(有用的)答案,但是我很难理解为什么我的代码只会返回一个未登录的网页文档。我假设使用来自登录的cookie时出错,但我不确定。感谢您的帮助 import java.io.*; import java.net.MalformedURLException; import java.util.Map; import java.net.*; import org.jsoup.Connection; impo
import java.io.*;
import java.net.MalformedURLException;
import java.util.Map;
import java.net.*;
import org.jsoup.Connection;
import org.jsoup.Connection.Method;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
public class PageLogin {
private static Map<String, String> loginCookies;
public PageLogin() {
login();
}
private static void login() {
try {
Connection.Response res = Jsoup.connect("https://connection.naviance.com/family-connection/auth/login/")
.data("e-mail", "myEmail")
.data("password", "myPass")
.method(Method.POST)
.execute();
loginCookies = res.cookies();
} catch (MalformedURLException ex) {
System.out.println("The URL specified was unable to be parsed or uses an invalid protocol. Please try again.");
System.exit(1);
} catch (Exception ex) {
System.out.println(ex.getMessage() + "\nAn exception occurred.");
System.exit(1);
}
}
public Document getDoc(String url){
try {
return Jsoup.connect(url)
.cookies(loginCookies)
.get();
} catch (IOException e) {}
return null;
}
public static void main(String[] args) throws IOException {
PageLogin test1 = new PageLogin();
Document doc = test1.getDoc("https://connection.naviance.com/family-connection/main/");
System.out.println(doc);
}}
import java.io.*;
导入java.net.MalformedURLException;
导入java.util.Map;
导入java.net。*;
导入org.jsoup.Connection;
导入org.jsoup.Connection.Method;
导入org.jsoup.jsoup;
导入org.jsoup.nodes.Document;
公共类页面登录{
私有静态地图登录库;
公共页面登录(){
登录();
}
私有静态void登录(){
试一试{
Connection.Response res=Jsoup.connect(“https://connection.naviance.com/family-connection/auth/login/")
.数据(“电子邮件”、“myEmail”)
.数据(“密码”、“我的通行证”)
.method(method.POST)
.execute();
loginCookies=res.cookies();
}捕获(格式错误){
System.out.println(“无法解析指定的URL或使用无效协议。请重试。”);
系统出口(1);
}捕获(例外情况除外){
System.out.println(例如getMessage()+“\n发生异常”);
系统出口(1);
}
}
公共文档getDoc(字符串url){
试一试{
返回Jsoup.connect(url)
.cookies(loginCookies)
.get();
}捕获(IOE){}
返回null;
}
公共静态void main(字符串[]args)引发IOException{
PageLogin test1=新的PageLogin();
Document doc=test1.getDoc(“https://connection.naviance.com/family-connection/main/");
系统输出打印项次(doc);
}}
该站点可能正在通过useragent进行筛选。您是否知道一些解决方法?我在几个不同的登录网站上尝试了相同的代码,打印的文档似乎提供了未登录的html代码,这让我相信问题在于代码。该网站可能正在通过useragent进行过滤。你知道一些解决方法吗?我在几个不同的登录网站上尝试了相同的代码,打印的文档似乎提供了未登录的html代码,这让我相信问题在于代码。