gpt4 book ai didi

ruby - 带代理的 HTTParty

转载 作者:数据小太阳 更新时间:2023-10-29 07:06:14 25 4
gpt4 key购买 nike

我在 heroku 上试图访问一个需要将我的应用程序 ip 列入白名单的 API。因此,我使用 heroku 附加组件 proximo 获取 api 白名单的主机/ip。

我设置的使用 HTTParty 测试连接性的快速测试失败了。

class FakeRequest
include HTTParty
http_proxy 'XX.XXX.XX.XX', 80, 'user', 'pass'


def set_defaults
{:api_key=>"BLARG_BLARG",
:login_name=>"user",
:method => "do_something",
:response_format => "json",
:v => "1.0",
:login_password=>"pass"}
end


def make_post
HTTParty.post "https://test.com", :query => set_defaults
end
end

像这样: req = FakeRequest.new req.make_post

从 api 返回一条错误消息,提示源 IP 未列入白名单。我查看了源 IP,它没有使用代理。我如何使用代理而不是我的 ISP 的 IP 进行 HTTParty 发布。

最佳答案

这是我为此构建的模块:

module ProximoParty

PROXIMO = URI.parse(ENV['PROXIMO_URL'])

def self.included(base)
base.send(:include, HTTParty)
base.http_proxy(PROXIMO.host, 80, PROXIMO.user, PROXIMO.password)
end

end

这会使用 PROXIMO URL,因为它会在您安装插件时添加到您的 heroku 应用程序中。因此,您可以将此文件放入您的应用程序中,并将 include ProximoParty 放入您的 FakeRequest 类而不是 HTTParty 中,它应该“正常工作”。

虽然我的代码看起来和您的代码正在做同样的事情,所以我猜测您可能没有为 proximo 正确地手动携带凭据。

我遇到了一个类似的问题,它并没有立即为我工作。我相信问题是我被绊倒了,proximo URL 中看起来有一个“代理:”协议(protocol),但这只是 URL 的用户名部分。

无论如何,这可能有帮助也可能没有帮助,但如果有帮助请告诉我!

关于ruby - 带代理的 HTTParty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12750161/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com