Skip to content

代理

  • 代理服务器:通过代理服务器访问目标网站,隐藏真实 IP 地址。
  • 代理类型:HTTP 代理、HTTPS 代理、SOCKS 代理等。

作用

  • 用另一个 IP 地址访问目标网站,隐藏真实 IP 地址。防止自己 IP 被屏蔽。

正向代理

  • 为请求方进行转发请求,浏览器知道最终请求服务器的真实 ip 地址。例如:vpn

反向代理

  • 为响应方进行转发请求,服务器知道最终响应客户端的 ip 地址,且隐藏自己的真实 IP。例如:nginx。

代理分类

根据匿名度分类

  • 透明代理:客户端知道代理服务器的存在,也知道代理服务器的真实 IP 地址。
txt
REMOTE_ADDR = Proxy Ip
HTTP_VIA = Proxy Ip
HTTP_X_FORWARDED_FOR = Client Ip
  • 匿名代理:服务器知道客户端使用代理,但不知道真实 IP 地址。
txt
REMOTE_ADDR = Proxy Ip
HTTP_VIA = Proxy Ip
HTTP_X_FORWARDED_FOR = Proxy Ip
  • 高匿名代理:服务器不知道客户端使用代理,也不知道真实 IP 地址。
txt
REMOTE_ADDR = Proxy Ip
HTTP_VIA = not detected
HTTP_X_FORWARDED_FOR = not detected

使用代理

  • 注意 键名必须为http或者https
python

import requests

url = "https://www.baidu.com"

headers = {
    'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/138.0.0.0 Safari/537.36'
}

# 代理池
proxies = [
	{
		'https': '114.232.86.101:21981'
	},
	{
		'http': '117.86.65.17:17424',
	},
]

for i in proxies:
	try:
		response = requests.get(url, headers = headers, proxies = i)
		response.encoding = "utf-8"
		print(response.text)
		break   # 成功后跳出循环
	except requests.exceptions.ProxyError as e:
		# 移除失效代理
		proxies.remove(i)
		print("代理失效", i)

免费代理