对于多 IP 的服务器来说,默认情况下 request 的请求只会默认一个 ip 发出请求,所以在请求时候,可以指定
依赖
pip install requests
pip install requests_toolbelt
主逻辑
# 获取到服务器多 ip 的信息
def load_all_local_ip():
import psutil
ips = []
for nic in psutil.net_if_addrs():
if nic == 'em1': #TODO 这里指定网卡名称,需要针对服务器网卡名称来选择
ip_type = socket.AF_INET
for a in psutil.net_if_addrs()[nic]:
if a.family == ip_type:
ips.append(a.address)
return ips
def main():
# 执行
s = requests.Session()
new_source = source.SourceAddressAdapter(load_all_local_ip()[0])
s.mount('http://', new_source)
s.mount('https://', new_source)
print s.get('http://xxx.xxx.xxx.xxx:8091/')
if __name__ == '__main__':
main()
网友评论