Windows 的那个代理是什么原理?

2022-05-10 11:45:31 +08:00
 lysS

在设置里面我设置成了一个本地地址。然后在本地 listen 这个地址。如果是 HTTP listen 的话是收不到请求的;但是 TCP 可以。

这就有个问题了:本地代理时,怎么知道一个请求实际需要请求的地址喃?

2194 次点击
所在节点    Windows
3 条回复
lyy16384
2022-05-10 18:07:08 +08:00
你需要的是 socks5 协议相关的信息
lysS
2022-05-10 18:18:26 +08:00
@lyy16384 操作系统会默认套一层 socks 吗?我还以为是设置 http 的代理呢
Opportunity
2022-05-10 22:11:24 +08:00
默认应该是 HTTP 代理没问题,感觉是你用的 http 库没有支持 connect 请求方法

> CONNECT example.com:443 HTTP/1.1
>
< HTTP/1.1 200 Connection established
<
// 到这里就相当于和 example.com:443 建立了 TCP 连接,具体后边发什么东西依据实际情况决定,HTTP 、TLS 握手、或者其他基于 TCP 的协议 etc
> // handshake to example.com
< // response from example.com

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods/CONNECT

跟普通的 HTTP 方法还是有一定的差别的

要调试的话还是用 curl 和 telnet 看起来清楚点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/851937

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX