2009-12-10 89 views
5

有谁知道一个插件/ gem会记录您的Rails应用程序在响应请求时可能做出的任何HTTP请求吗?例如,如果您使用HTTParty来创建一个API,您怎么看到哪些出站请求从您的Rails应用程序出来?HTTP登录轨道?

回答

5

你必须告诉出站HTTP客户端使用代理。

对于HTTParty它(从docs)相当简单,

class Twitter 
    include HTTParty 
    http_proxy 'http://myProxy', 1080 

如果你正在寻找一个代理服务器设置,我个人喜欢Paros proxy(Java这样的跨平台并执行SSL)。

1

如果您正在自己的机器上进行开发,Charles Proxy是一个不错的选择。

在生产中,您最好创建自己的logger.debug()消息。

+1

我一直在使用查尔斯和它似乎没有任何记录的调用外部的apis使用HTTParty – bwizzy 2009-12-10 17:33:30

1

我得到这个工作的唯一办法是只指定IP作为第一个参数http_proxy电话:

http_proxy '10.2.2.1', 8888 

上面的例子中,使用http://前缀,没有工作,我有一个SocketError: getaddrinfo: nodename nor servname provided

5

尝试也http_logger宝石:

require 'http_logger' 

Net::HTTP.logger = Logger.new(...) # defaults to Rails.logger if Rails is defined 
Net::HTTP.colorize = true # Default: true 

这将记录经过的Net :: HTTP库去所有请求。

https://github.com/railsware/http_logger

1

试试我httplog宝石,你可以自定义登录请求,响应报头等等