Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问登录的html_Java_Html_Web_Jsoup - Fatal编程技术网

Java 访问登录的html

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

最近,我决定尝试创建一个java程序,在登录网站后检索网页的源代码。我搜索了这么多线程,发现了很多(有用的)答案,但是我很难理解为什么我的代码只会返回一个未登录的网页文档。我假设使用来自登录的cookie时出错,但我不确定。感谢您的帮助

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代码,这让我相信问题在于代码。