首页 > 解决方案 > 是否可以使用这样的代理?

问题描述

我想知道是否可以实现以下功能:

我在 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 ?

标签: gohttpsproxy

解决方案


找到以下解决方案:Firebase Cloud Messaging 包使用克隆默认传输在后台创建 http.client。因此我们可以在调用 app.Messaging(ctx) 之前配置 http.DefaultTransport 并设置我们需要的任何参数(代理、insecureSkipVerify ...)。所以完全没有问题。


推荐阅读