0

urllib2を使用してプロキシサーバーを使用してhttpリクエストを作成していますが、curlと同様のリクエストを作成しながらソースインターフェイスのIPアドレスを使用するにはどうすればよいですか?

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")
4

1 に答える 1

0

あなたを助けるかもしれない質問で同様の答えがあります。ここに答えを貼り付ける必要はありませんが、基本的に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 

私はあなたの質問を理解したと思います。

于 2012-04-04T16:52:00.643 に答える