Khue Vuの回答のフォローアップとして、完全な例を示します。これをSOCKSプロキシで機能させる方法の詳細は、予想よりも複雑でした。
まず、次のコマンドを使用してPySocksをインストールします。
pip install PySocks
次に、HTTPConnectionをインスタンス化し、プロキシを使用することを通知した後、SOCKSプロキシを手動で設定する必要があります。
from http.client import HTTPConnection
from urllib.parse import urlparse, urlencode
import socks
url = urlparse("http://final.destination.example.com:8888/")
conn = HTTPConnection('127.0.0.1', 9000) # use socks proxy address
conn.set_tunnel(url.netloc, url.port) # remote host and port that you actually want to talk to
conn.sock = socks.socksocket() # manually set socket
conn.sock.set_proxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 9000) # use socks proxy address
conn.sock.connect((url.netloc, url.port)) # remote host and port that you actually want to talk to
request_path = "%s?%s" % (url.path, url.query)
conn.request("POST", request_path, post_data)
上記のインポートはpython3.xであることに注意してください