Ich führe einen http-Server lokal auf Port 8181
. Ich habe meine mitmproxy
auf meinen Geräten konfiguriert und jetzt muss ich Anfragen von einer bestimmten Domäne an meine lokale Serverinstanz weiterleiten. So verwende ich die Anfrage Beispielskript here beschrieben umleiten:mitmproxy Redirect Anfrage an localhost und setzen Host-Header
def request(flow):
# pretty_host takes the "Host" header of the request into account,
# which is useful in transparent mode where we usually only have the IP
# otherwise.
# Method 2: Redirect the request to a different server
if flow.request.pretty_host.endswith("mydomain.com"):
flow.request.headers["Host"] = flow.request.headers
flow.request.host = "localhost"
flow.request.port = 8181
flow.request.scheme = 'http'
Dies funktioniert, aber ich brauche die Host
Header auf die ursprüngliche Anforderung Host zu setzen, so folgte ich das Add-Header Beispiel here wie
aber wenn in mitmproxy
kann ich nicht sehen, dass diese Header in der Anfrage festgelegt, und ich bekomme es nicht auf localhost
Serverprotokolle.
Also, was ich es das gleiche wie cURL
curl -b c -c c "http://localhost:8181/something" -H "Host: mydomain.com"
zu haben, um zumindest die benötigten Anforderungsheader wie
* Trying ::1...
* Connected to localhost (::1) port 8181 (#0)
> GET /something HTTP/1.1
> Host:mydomain.com
> User-Agent: curl/7.43.0
> Accept: */*