了解 HTTP 代理的基本概念和各语言的配置方式
HTTP 代理是最常用的代理协议,工作原理:
http://用户名:密码@IP:端口import requests
# 单次请求使用代理
proxies = {
'http': 'http://username:password@ip:port',
'https': 'http://username:password@ip:port'
}
response = requests.get('https://example.com', proxies=proxies, timeout=10)
# 使用 Session 持久化代理设置
session = requests.Session()
session.proxies = proxies
response = session.get('https://example.com')
const axios = require('axios');
const { HttpsProxyAgent } = require('https-proxy-agent');
const proxyAgent = new HttpsProxyAgent('http://username:password@ip:port');
const response = await axios.get('https://example.com', {
httpsAgent: proxyAgent,
timeout: 10000
});
import java.net.*;
import java.io.*;
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("IP", 端口));
URL url = new URL("https://example.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection(proxy);
// 设置认证
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("用户名", "密码".toCharArray());
}
});