【问题标题】:How do I pass internet traffic through localhost?如何通过 localhost 传递互联网流量?
【发布时间】:2015-03-03 11:54:42
【问题描述】:

我已经使用 Python 创建了一个本地服务器,我正在尝试传递流量以查看 HTTP 请求和响应。

我尝试在浏览器中输入以下内容,但只得到 404:

http://127.0.0.1:8080/http://www.google.com

为了澄清起见,我试图得到以下信息:

>Starting simple_httpd on port: 8080<br>
>127.0.0.1 - - [05/Jan/2015 15:12:33] code 404, message File not found<br>
>127.0.0.1 - - [05/Jan/2015 15:12:33] "GET /http://www.google.com HTTP/1.1" 404 -

【问题讨论】:

  • 所以本质上你是在尝试做一个代理?
  • 是的,我好像有。在你提到它之后,我对代理进行了更多研究,这似乎超出了我的技能范围。

标签: python sockets python-3.x localhost server


【解决方案1】:

如果您希望浏览器通过您开发的在 localhost 上运行的代理服务器发送 HTTP 请求,您需要将其代理设置配置为指向(在您的情况下)“127.0.0.1:8080”。

例如,在 Chrome 上,您可以在 设置 | 中执行此操作。高级设置... 根据this link。 (根据操作系统,它可能只会将您带到适合您计算机的系统范围设置)。

另一个选项是编辑您计算机的主机文件以将所需域指向 127.0.0.1。如果你这样做,你需要在端口 80 上运行你的服务器。

请注意,编写具有良好兼容性的功能齐全的代理服务器可能会相当复杂,但为实验准备好基础知识并不是那么糟糕。另请注意,对于 SSL 流量,您通常会不走运。

顺便说一句,如果您只是对查看请求/响应流量感兴趣,您可能会更好地使用浏览器的开发工具,或者出色的 Firebug,它通常可以很好地检查“网络”选项卡中的 HTTP 流量.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    相关资源
    最近更新 更多