我有以下docker-compose:
version: '3'
services:
mitmproxy:
image: johnmccabe/mitmweb
container_name: mitmproxy
command: --cadir /ca --wiface 0.0.0.0
restart: always
ports:
#- "8080:8080"
- "8081:8081"
python:
image: python
build: ./python-socks-example
command: python3 /home/project/socks-example.py
volumes:
- ./python-socks-example:/home/project/
depends_on:
- mitmproxy
container_name: python
restart: always
我希望我的 Python HTTP 请求通过另一个容器上的 mitmproxy。以下是 Python 代码:
import requests
import time
while(True):
time.sleep(5)
print("gonna connect")
resp = requests.get('http://google.com',
proxies=dict(http='socks5://user:[email protected]:8080',
https='socks5://user:[email protected]:8080'))
print(resp)
print("done")
time.sleep(2)
我该如何连接网络python
来穿过mitmproxy
容器?
答案1
在您的 Python 代码中,您需要引用其他服务。
应更新代理 URL 以使其具有正确的主机名。也就是说,将server.com
其替换为服务提供您想要连接的任何东西。
在这种情况下,您可以server.com
用替换mitmproxy
。
这意味着你的python代码看起来应该是这样的:
import requests
import time
while(True):
time.sleep(5)
print("gonna connect")
resp = requests.get('http://google.com',
proxies=dict(http='socks5://user:pass@mitmproxy:8080',
https='socks5://user:pass@mitmproxy:8080'))
print(resp)
print("done")
time.sleep(2)