如何利用Java使用jsoup连接爬虫IP?

此示例Java使用jsoup并通过代理进行请求发送。

下面的代码需要用到jar包:org.jsoup.Jsoup

此代码以http代理为例

import java.io.IOException;

import java.net.Authenticator;

import java.net.InetSocketAddress;

import java.net.PasswordAuthentication;

import java.net.Proxy;

import org.jsoup.Jsoup;

import org.jsoup.nodes.Document;

/***

* 通过代理访问指定URL 内容

* 此处 Jsoup Version 1.9.1

* JDK 8u111版本后环境下:要访问的目标页面为HTTPS协议时,需修改“jdk.http.auth.tunneling.disabledSchemes”值

*/

public class ProxyDemo

{

// 账密验证信息

final static String ProxyUser = "key";

final static String ProxyPass = "proxy_password";

// 代理服务器

final static String ProxyHost = "";

final static Integer ProxyPort = 9020;

public static String getUrlProxyContent(String url)

{

Authenticator.setDefault(new Authenticator() {

public PasswordAuthentication getPasswordAuthentication()

{

return new PasswordAuthentication(ProxyUser, ProxyPass.toCharArray());

}

});



Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(ProxyHost, ProxyPort));



try

{

// 此处自己处理异常、其他参数等

Document doc = Jsoup.connect(url)

.followRedirects(false)

.timeout(3000)

.proxy(proxy)

// 忽略证书校验

.validateTLSCertificates(false)

.get()

;

if(doc != null) {

System.out.println(doc.body().html());

}

}

catch (IOException e)

{

e.printStackTrace();

}



return null;

}



public static void main(String[] args) throws Exception

{

// 要访问的目标页面

String targetUrl = "http://httpbin.org/get";



// JDK 8u111版本后,目标页面为HTTPS协议,启用proxy用户密码鉴权

System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");



getUrlProxyContent(targetUrl);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值