diff options
author | iroiro123 <user1@cygwin> | 2015-06-20 21:43:50 +0900 |
---|---|---|
committer | iroiro123 <user1@cygwin> | 2015-06-20 21:43:50 +0900 |
commit | 378aa783243cf23d84a39d02dde5420beadc188b (patch) | |
tree | b8608bbaa545ff5df76fedd2f48aad12fc97d26e /libmproxy/protocol | |
parent | 59ec291b6cff1dfa83b316401418b6308df93aac (diff) | |
download | mitmproxy-378aa783243cf23d84a39d02dde5420beadc188b.tar.gz mitmproxy-378aa783243cf23d84a39d02dde5420beadc188b.tar.bz2 mitmproxy-378aa783243cf23d84a39d02dde5420beadc188b.zip |
Spoof mode
Diffstat (limited to 'libmproxy/protocol')
-rw-r--r-- | libmproxy/protocol/http.py | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/libmproxy/protocol/http.py b/libmproxy/protocol/http.py index c7479b76..61782698 100644 --- a/libmproxy/protocol/http.py +++ b/libmproxy/protocol/http.py @@ -1330,19 +1330,22 @@ class HTTPHandler(ProtocolHandler): flow.server_conn = self.c.server_conn elif request.form_in == "relative": - if self.c.config.mode == "httptransparent": - h = request.headers.get_first("host") + if self.c.config.mode == "spoof": + # Host header + h = request.pretty_host(hostheader=True) if h is None: raise http.HttpError( 400, "Invalid request: No Host header" ) p = http.parse_url("http://" + h) - request.host, request.port = p[1], p[2] + request.host = p[1] + request.port = p[2] self.c.set_server_address((request.host, request.port)) flow.server_conn = self.c.server_conn return None + raise http.HttpError( 400, "Invalid HTTP request form (expected: %s, got: %s)" % ( self.expected_form_in, request.form_in |