Java——Jsoup方式的IP代理服务器的使用
生活随笔
收集整理的這篇文章主要介紹了
Java——Jsoup方式的IP代理服务器的使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
代理服務器的基本了解
在一般情況下,使用瀏覽器可以直接連接internet站點獲取網絡信息,而代理服務器(Proxy Server)是網絡上提供轉接功能的服務器。代理服務器是介于客戶端和Web服務器之間至的另一臺服務器。基于代理服務器,瀏覽器不再直接從Web服務器獲取數據,而是向代理服務器發出情求,信號會先送發到代理服務器,由代理服務器取回瀏覽器所需要的信息。可以將代理簡單理解為中介.在網絡爬蟲中,使用代理服務器訪問網頁內容;能高度隱藏爬蟲真實IP地址,從而防止網絡爬蟲被服務器封鎖。另外,普通網絡爬蟲使用固定IР地址請求時往往需要沒置隨機休息時間,而通過代理聯務器卻不需要,從而提高了數據采集的效率。三前,代理股務器可以來源于提供免費代理服務的一些網站或接口網站,但這些免費代理IP地址的穩定性較差,另外,也可通過付費的方式獲取商業級代理,其提供的代理IP地址可用率較高,穩定性較強。記得設置這兩個地方
本代碼使用有局限性:
局限性為:授權模式 要使用 終端IP授權然后生成提取鏈接頁面 返回類型設置必須使用Text文本形式的返回類型 import net.sf.json.JSONObject; import org.jsoup.Connection; import org.jsoup.Jsoup; import org.jsoup.nodes.Document;import java.io.IOException; import java.lang.reflect.Array; import java.net.InetSocketAddress; import java.net.Proxy; import java.util.*;public class Jsoupdemo6 {//生成的ip提取鏈接,記得換成自己的private final static String GET_IP_URL = "http://www.zdopen.com/PrivateProxy/GetIP/?api=202207061724038356&akey=3d6e457db3f4b25c&count=5&adr=%E6%B5%99%E6%B1%9F%2C%E6%B2%B3%E5%8D%97%2C%E5%8C%97%E4%BA%AC&fitter=2×pan=6&type=1";public static void main(String[] args) {Document doc = null;try {doc = Jsoup.connect(GET_IP_URL).get();} catch (IOException e) {throw new RuntimeException(e);}String text = doc.text();// System.out.println(text);String[] s = text.split(" ");String[] arrip=new String[s.length];String[] arrport=new String[s.length];for (int i=0;i<s.length;i++) {String s1 = s[i];arrip[i]= s1.split(":")[0];arrport[i]=s1.split(":")[1];}Map<String, String> ipmap = new HashMap<>();Map<String, String> portmap = new HashMap<>();for (int i = 0; i < arrip.length; i++) {ipmap.put("ip"+i,arrip[i]);portmap.put("port"+i,arrport[i]);}/** 便捷輸出查看** */// for (int i = 0; i < portmap.size(); i++) {// System.out.println(portmap.get("port"+i));// }for (int i = 0; i < ipmap.size(); i++) {// System.out.println(ipmap.get("ip"+i));// System.out.println(portmap.get("port"+i));String ip =ipmap.get("ip"+i);String port=portmap.get("port"+i) ;// System.out.println(ip+" "+port);checkIp a = new checkIp(ip, Integer.valueOf(port));try {a.lianjie();} catch (IOException e) {throw new RuntimeException(e);}}}static class checkIp{private String ip ;private int port;public checkIp(String ip, int port) {this.ip = ip;this.port = port;}public void lianjie() throws IOException {//要請求的網址,記得換成自己的Connection connection= Jsoup.connect("https://www.baidu.com");/** 這個地方的proxy 參數第一個是String 類型 用于傳入 代理Ip地址 第二個參數是int類型用于傳入 Ip端口號* */Connection.Response execute = connection.method(Connection.Method.GET).timeout(20*1000).proxy(ip, port).execute();int i = execute.statusCode();System.out.println("響應狀態碼為:"+i);}} }我自己使用的代理ip是 zhandaye 拼音自己猜一下
返回類型是Json方式 ,授權方式為賬號密碼的寫法鏈接:博客鏈接跳轉
總結
以上是生活随笔為你收集整理的Java——Jsoup方式的IP代理服务器的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 向量点乘相关公式推导及 几何解释
- 下一篇: 从VGA到GPU!细数二十年显卡发展历程