go - 是否可以使用这样的代理?
问题描述
我想知道是否可以实现以下功能:
我在 GO 中有一些服务(用于 Firebase Cloud Messaging),它使用来自 firebase(firebase.google.com/go/v4)的 go 包来发送消息。这个包发送 https 请求。其中之一是https://oauth2.googleapis.com/token获取令牌。我无法更改 Firebase go-package 中的代码,但我需要使用代理,这就是为什么在发送消息之前我需要将 HTTPS_PROXY 环境变量设置为我的代理地址。它工作正常。
现在我需要做一些自动测试,并且我有一个具有 /token 端点的模拟器并返回一个有效的令牌作为响应。是否可以使用某种可以将 https 请求重定向到我的模拟器端点的代理,以便所有对https://oauth2.googleapis.com/token的请求都应该重定向到我的模拟器端点/token?另一个问题是 HTTPS 是否存在任何可能的问题?是否可以摆脱 https 并在代理后仅使用 http ?
解决方案
找到以下解决方案:Firebase Cloud Messaging 包使用克隆默认传输在后台创建 http.client。因此我们可以在调用 app.Messaging(ctx) 之前配置 http.DefaultTransport 并设置我们需要的任何参数(代理、insecureSkipVerify ...)。所以完全没有问题。
推荐阅读
- html - HTML 和 CSS 画廊网格设计
- oracle-apex - Oracle APEX:如何根据链接列值打开不同的内联对话框
- import - 如何在文档中指定导入行的位置(WebStorm)
- excel - Excel - 如何使用 VLOOPUP 之类的表达式在 VBA 中选择一个范围?
- node.js - 如何在节点环境中模拟浏览器按钮单击?
- kotlin - 如果发生异常,是否取消流程
- javascript - 可调整大小的 SVG 框
- python - Django 模型条件验证
- typescript - 如何从另一条记录的记录中选择
- c# - https://localhost:5001/API/users/ 找不到