X-Forwarded-For(XFF)是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段。 Squid 缓存代理服务器的开发人员最早引入了这一HTTP头字段,并由IETF在Forwarded-For HTTP头字段标准化草案中正式提出。
这一HTTP头一般格式如下:
X-Forwarded-For: client1, proxy1, proxy2
其中的值通过一个 逗号+空格 把多个IP地址区分开, 最左边(client1)是最原始客户端的IP地址, 代理服务器每成功收到一个请求,就把请求来源IP地址添加到右边。 在上面这个例子中,这个请求成功通过了三台代理服务器:proxy1, proxy2 及 proxy3。
Python:
def setHeader():
randomIP = str(random.randint(0, 255)) + '.' + str(random.randint(0, 255)) + '.' + str(
random.randint(0, 255)) + '.' + str(random.randint(0, 255))
headers = {
'User-Agent': random.choice(uas),
"Accept-Language": "zh-CN,zh;q=0.8,en;q=0.6",
'X-Forwarded-For': randomIP,
}
return headers