通过代理服务更改HTTP request的地址

利用更改proxy.py中的Redirect To Custom Server Plugin插件来更改原Android端请求的IP地址。

更改plugin/redirect_to_custom_server.py文件


class RedirectToCustomServerPlugin(HttpProxyBasePlugin):
    def before_upstream_connection(
            self, request: HttpParser,
    ) -> Optional[HttpParser]:
        # 原服务器地址
        old_server = 'http://xxx:8088'
        # 新服务器地址
        new_server = 'http://yyy:8088'
        url = str(request._url)
        if not request.is_https_tunnel and old_server in url :
            url = url.replace(old_server,new_server)
            
            request.set_url(url.encode('utf_8'))
            # Update Host header too, otherwise upstream can reject our request
            if request.has_header(b'Host') :
                request.del_header(b'Host')
            request.add_header(
                b'Host', urlparse.urlsplit(
                    new_server.encode(),
                ).netloc,
            )
        return request

启动proxy.py服务

proxy  --enable-web-server --plugins proxy.plugin.RedirectToCustomServerPlugin --hostname 0.0.0.0  --port 1080

最后在Android端设置代理为当前服务即可实现IP地址的变更。


通过代理服务更改HTTP request的地址
https://blog.yjll.blog/post/86d57f8b.html
作者
简斋
发布于
2024年12月21日
许可协议