为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Go 代理 https 请求,请求工作正常?

如何使用 Go 代理 https 请求,请求工作正常?

Go
翻过高山走不出你 2022-09-26 17:31:56
我将尽力解释一切,服务器的东西!一切都在围棋中,主要问题是服务HTTP。问题我正在努力转发收到的请求,以便通过 发送到另一个代理服务器。我正在使用python请求提交GET请求,并通过第一个服务器和第二个服务器将其代理到实际目标。我已经能够提交和接收请求,但我无法提交 https 请求。(http.server).ListenAndServe()(http.ReverseProxy).ServeHTTP(http.ResponseWriter, *http.Request)错误我经常从python请求库接收,可能是当我使用 https://httpbin.org 或任何其他https网站时来自ServhtTP()的结果。使用 http 会导致在 html 中返回给我。502 bad gatewayhttp: proxy error: unsupported protocol scheme "" 响应差异*的差异。响应是针对&{GET http://httpbin.org HTTP/1.0 1 0 map[] <nil> <nil> 0 [] true http://httpbin.org map[] map[] <nil> map[] [my ip address] http://httpbin.org <nil> <nil> <nil> 0xc000050fc0}和 &{CONNECT //httpbin.org:443 HTTP/1.0 1 0 map[] <nil> <nil> 0 [] true httpbin.org:443 map[] map[] <nil> map[] [my ip address] httpbin.org:443 <nil> <nil> <nil> 0xc0000503c0}以下是指向 *http 文档的链接。请求我以前尝试过的我尝试过修改反向代理控制器属性,并让函数修改 *http。请求。我已经做了从删除“:443”到添加“https://”甚至“http://”的所有事情。这样做会导致错误的请求错误。我还尝试将 CONNECT 请求更改为 GET 或 POST,这两个请求都有奇怪的结果,包括无效的方法或错误的请求。有什么帮助吗?
查看完整描述

2 回答

?
达令说

TA贡献1821条经验 获得超6个赞

我认为问题是你不能真正代理https请求。我假设您正在尝试根据你的描述将服务器用作另一个代理的代理,所以看起来你将不得不在中间使用Man来欺骗代理请求以将其发送到实际的代理服务器。

请注意,这可能是一个坏主意,请确保如果是这种情况,所有请求都是安全的,因为将要发生的事情是中间服务器可以读取未加密的https信息。

不幸的是,我想不出任何快速的解决方案。相反,您必须深入研究此并修改特定的MITM请求,并设置https.go分发每个请求的其他代理服务器的池。

祝你好运!


查看完整回答
反对 回复 2022-09-26
?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

 ... CONNECT //httpbin.org:443 HTTP/1.0 ...

客户端正在执行错误的请求。它需要是,即只是目标服务器的域和端口。鉴于标准的Python工具正确处理代理的HTTPS,问题可能是由一些(未知的)自制代码发出错误的代理请求引起的。CONNECT httpbin.org:443 HTTP/1.0


查看完整回答
反对 回复 2022-09-26
  • 2 回答
  • 0 关注
  • 150 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信