"); //-->
北京时间 12 月 13 日19 点,2021-22 赛季欧冠联赛 1/8 决赛对阵抽签完成,其中曼联(英格兰) VS 巴黎圣日耳曼(法国)万众期待的梅罗对决有望上演。但是令人诧异的是欧足联提出因第三方软件程序出错,技术故障导致抽签结果不公,经过慎重思考后决定重新抽签,并在12 月 13 日22 点重新开始。 其中巴黎圣日耳曼 vs 皇家马德里、国际米兰 vs 利物浦、马德里竞技 vs 曼联均是强强对话,到底谁能进入八强,更多信息可以访问雷速体育https://www.leisu.com获取,下面的程序通过爬虫代理自动采集整理相关比赛信息,可以运行试试:
import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.Authenticator; import java.net.HttpURLConnection; import java.net.InetSocketAddress; import java.net.PasswordAuthentication; import java.net.Proxy; import java.net.URL; import java.util.Random; class ProxyAuthenticator extends Authenticator { private String user, password; public ProxyAuthenticator(String user, String password) { this.user = user; this.password = password; } protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(user, password.toCharArray()); } } /** * 注意:下面代码仅仅实现HTTP请求链接,每一次请求都是无状态保留的,仅仅是这次请求是更换IP的,如果下次请求的IP地址会改变 * 如果是多线程访问的话,只要将下面的代码嵌入到你自己的业务逻辑里面,那么每次都会用新的IP进行访问,如果担心IP有重复, * 自己可以维护IP的使用情况,并做校验。 */ public class Demo { public static void main(String args[]) throws Exception { // Change in Java 8 Update 111 以上版本需要下面代码 // System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "false"); // System.setProperty("jdk.http.auth.proxying.disabledSchemes", "false"); // 要访问的目标页面 String targetUrl = "https://www.leisu.com"; // 代理服务器(产品官网 www.16yun.cn) String proxyServer = "t.16yun.cn"; int proxyPort = 31111; // 代理验证信息 String proxyUser = "username"; String proxyPass = "password"; try { URL url = new URL(targetUrl); Authenticator.setDefault(new ProxyAuthenticator(proxyUser, proxyPass)); // 创建代理服务器地址对象 InetSocketAddress addr = new InetSocketAddress(proxyServer, proxyPort); // 创建HTTP类型代理对象 Proxy proxy = new Proxy(Proxy.Type.HTTP, addr); // 设置通过代理访问目标页面 HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy); // 设置KeepAlive // connection.setRequestProperty("Connection", "keep-alive"); // connection.setRequestProperty("Keep-Alive", "timeout=5, max=100"); // 设置Proxy-Tunnel // Random random = new Random(); // int tunnel = random.nextInt(10000); // connection.setRequestProperty("Proxy-Tunnel",String.valueOf(tunnel)); // 解析返回数据 byte[] response = readStream(connection.getInputStream()); System.out.println(new String(response)); } catch (Exception e) { System.out.println(e.getLocalizedMessage()); } } /** * 将输入流转换成字符串 * * @param inStream * @return * @throws Exception */ public static byte[] readStream(InputStream inStream) throws Exception { ByteArrayOutputStream outSteam = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = -1; while ((len = inStream.read(buffer)) != -1) { outSteam.write(buffer, 0, len); } outSteam.close(); inStream.close(); return outSteam.toByteArray(); } }
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。