如何在浏览器内让某个第三方网页的请求断开 tcp 链接?

2023-03-02 14:23:14 +08:00
 FaiChou

需求是这样的, 一个页面有很多请求, 请求多了会弹验证, 于是想用 clash 多节点 load-balance 轮询方式, 将这些请求分散开, 但是如果第一个请求的 tcp 没有断开, 下一次请求是不会换节点的.

我尝试了使用浏览器插件将这个请求的 connection 设置为 close, 使用 Proxyman 抓包也能看到 request 和 response 的 connection 请求头都是 close.

但在 clash dashboard 中还是发现这个请求的 tcp 没有断开. 下次请求还是使用相同节点.

PS. 已经测试过 load-balance 轮询正常, 在 clash dashboard 中关闭这个 tcp, 下一次会换节点.

638 次点击
所在节点    程序员
1 条回复
LinePro
2023-03-02 15:23:57 +08:00
看看协议是不是用了 HTTP/2 ,如果是 HTTP/2 的话 Connection 头是无效的。可以想办法降级成 HTTP/1.0 或者 1.1
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Connection
或者自己写个 sniproxy 或者反代之类的小程序,控制起来可能更方便。

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

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

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

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

© 2021 V2EX