У меня есть следующий 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
Я хочу, чтобы мои HTTP-запросы python проходили через 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@server.com:8080',
https='socks5://user:pass@server.com:8080'))
print(resp)
print("done")
time.sleep(2)
Как я могу подключить сеть python
пройти через mitmproxy
контейнер?
В вашем коде 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)