我在heroku上尝试访问需要将我的应用程序ip列入白名单的API。因此,我使用heroku add-on 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
接口返回源IP未被列入白名单的错误信息。我查看了源IP,它没有使用代理。如何使用代理而不是我的HTTParty的IP进行ISP。
发布于 2012-10-06 06:28:04
这就是我构建的模块,用来做这些事情:
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中似乎有一个"proxy:“协议,但这只是URL的用户名部分。
无论如何,这可能有帮助,也可能没有帮助,但如果有帮助,请让我知道!
发布于 2015-11-23 23:53:45
通过以下proxy options,HTTParty可以使用代理服务器地址。
[:+http_proxyaddr+:] Address of proxy server to use
[:+http_proxyport+:] Port of proxy server to use.
[:+http_proxyuser+:] User for proxy server authentication
[:+http_proxypass+:] Password for proxy server authentication.发布于 2018-08-16 08:41:13
在这个问题上你能得到多少不起作用的答案,这让我大吃一惊。下面是我是如何让它工作的:
HTTParty::Basement.http_proxy('localhost', 8000, nil, nil)将其作为全局覆盖放在env.rb文件中。就这样。好了。
https://stackoverflow.com/questions/12750161
复制相似问题