繁体   English   中英

python curl urllib2源接口地址

[英]python curl urllib2 source interface address

我正在使用 urllib2 使用代理服务器发出 http 请求,如何在发出类似于 curl 的请求时使用源接口 ipaddress

curl --interface xx.xx.xx.xx -x yy.yy.yy.yy:8080 www.google.com

#!/usr/bin/env python

import urllib2

proxy = urllib2.ProxyHandler({'http': 'xx.xx.xx.xx:8080'})
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
result = urllib2.urlopen('http://www.google.com')

for line in result:
    print line.rstrip("\n")

有一个可能对您有帮助的问题的类似答案。 没有必要在这里粘贴答案,但基本上 API 不会给你任何钩子,所以你必须深入到 API 堆栈并修改源代码或猴子修补代码

import socket
true_socket = socket.socket
def bound_socket(*a, **k):
    sock = true_socket(*a, **k)
    sock.bind((sourceIP, 0))
    return sock
socket.socket = bound_socket 

我希望我已经理解你的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM