Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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 无法使用公司代理后的Jsoup连接到网站_Java_Html_Proxy_Jsoup - Fatal编程技术网

Java 无法使用公司代理后的Jsoup连接到网站

Java 无法使用公司代理后的Jsoup连接到网站,java,html,proxy,jsoup,Java,Html,Proxy,Jsoup,我想使用javasjsoup库刮取一个网页,但是我在一个公司代理的后面,这个代理阻止我连接到这个网页。我研究了这个问题,现在知道我必须明确地解决代理问题,并向代理表明我的身份。但是我仍然无法连接到该网页。我试图通过使用以下代码从www.google.com检索标题来测试我的连接: import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; public class Test {

我想使用javasjsoup库刮取一个网页,但是我在一个公司代理的后面,这个代理阻止我连接到这个网页。我研究了这个问题,现在知道我必须明确地解决代理问题,并向代理表明我的身份。但是我仍然无法连接到该网页。我试图通过使用以下代码从www.google.com检索标题来测试我的连接:

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class Test {
    public static void main(String[] args) {
        System.out.println("1");
        try{            
            System.setProperty("http.proxyHost", "myProxy");
            System.setProperty("http.proxyPort", "myPort");
                  System.setProperty("http.proxyUser", "myUser");
            System.setProperty("http.proxyPassword", "myPassword");

            Document doc = Jsoup.connect("http://google.com").get();
                  String title = doc.title();
            System.out.println(title);

            }catch(IOException e){
                      System.out.println(e);
            }           
        }
    }
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class DemoII {
    public static void main(String[] args) {
         System.out.println("1");
        try{
                   System.setProperty("http.proxyHost", "myProxy");
             System.setProperty("http.proxyPort", "myPort");
             System.setProperty("http.proxyUser", "myUser");
             System.setProperty("http.proxyPassword", "myPassword");

             String script = Jsoup.connect("http://google.com").ignoreContentType(true).execute().body();
             System.out.println(script);
                    }catch(IOException e){
                      System.out.println(e);
              }         
    }
}
上述代码返回以下错误:

org.jsoup.UnsupportedAdminType异常:未处理的内容类型。必须是text/*、application/xml或application/xhtml+xml。Mimetype=application/x-ns-proxy-autoconfig,URL=

这告诉我soemthing已被检索,但属于无法处理的内容类型,因此我调整了测试以忽略该内容类型,以便使用以下代码查看检索到的内容:

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class Test {
    public static void main(String[] args) {
        System.out.println("1");
        try{            
            System.setProperty("http.proxyHost", "myProxy");
            System.setProperty("http.proxyPort", "myPort");
                  System.setProperty("http.proxyUser", "myUser");
            System.setProperty("http.proxyPassword", "myPassword");

            Document doc = Jsoup.connect("http://google.com").get();
                  String title = doc.title();
            System.out.println(title);

            }catch(IOException e){
                      System.out.println(e);
            }           
        }
    }
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class DemoII {
    public static void main(String[] args) {
         System.out.println("1");
        try{
                   System.setProperty("http.proxyHost", "myProxy");
             System.setProperty("http.proxyPort", "myPort");
             System.setProperty("http.proxyUser", "myUser");
             System.setProperty("http.proxyPassword", "myPassword");

             String script = Jsoup.connect("http://google.com").ignoreContentType(true).execute().body();
             System.out.println(script);
                    }catch(IOException e){
                      System.out.println(e);
              }         
    }
}
事实证明,脚本字符串从代理服务器检索源代码。因此,我正在与代理建立一些连接,但我对www.google.com的请求没有通过。你知道我做错了什么吗?

OP找到了一个解决方案:

嘿,谢谢,我不知道这个文件做了什么,在你告诉我它做了什么之后,我看了看里面,有一个代理名称与我以前使用的名称略有不同,现在它可以工作了-谢谢-


代理的回复是什么?对不起,由于公司政策,我无法发布源代码。一般来说,我得到了定义代理如何操作的java代码。为什么是java代码?会不会是它返回了一个错误?我相信屏蔽机密信息不会有问题,对吗?Document doc=Jsoup.co是什么nnecthttp://google.com.ignoreContentTypetrue.get; 屈服?@MCL是的,在我看来你是对的,我得到了一个代理自动配置。