Tag: 法拉第

如何从Rspec输出中禁用http日志?

我正在为我的rails应用程序编写测试。 我只想看到’。’ 当rspec运行时,和’*’符号。 但我正在观看HTTP日志,不知道如何禁用它们。 我终端输出的一块rspec: ………….get http://0.0.0.0:3000/device_info/?api_session=%23%7Bapi_session%7D User-Agent: “Faraday v0.8.7” 404 content-type: “text/html” x-cascade: “pass” connection: “close” server: “thin 1.5.1 codename Straight Razor” …..get http://0.0.0.0:3000/device_info/12345?api_session=%23%7Bapi_session%7D User-Agent: “Faraday v0.8.7” 400 .. 我假设原因可能是’法拉第’gem的配置。 如何从我的rspec输出中禁用此日志?

如何用Ruby的法拉第指定网络接口?

我正在使用Faraday包装各种适配器,包括Net :: HTTP,Excon,Typhoeus,Patron和EventMachine。 我想指定网络接口(例如en0或en1 ),但我不确定如何或是否可能。 我愿意接受Ruby级别或Linux级别的答案。 注意:根据使用Ruby和Curb从不同网络接口发出HTTP请求 ,这可以通过Curb实现 。

大括号的URL编码问题

我在从GitHub Archive获取数据时遇到问题。 主要问题是我在URL中编码{}和..问题。 也许我误读了Github API或者没有正确理解编码。 require ‘open-uri’ require ‘faraday’ conn = Faraday.new(:url => ‘http://data.githubarchive.org/’) do |faraday| faraday.request :url_encoded # form-encode POST params faraday.response :logger # log requests to STDOUT faraday.adapter Faraday.default_adapter # make requests with Net::HTTP end #query = ‘2015-01-01-15.json.gz’ #this one works!! query = ‘2015-01-01-{0..23}.json.gz’ #this one doesn’t work encoded_query = URI.encode(query) response = […]

如何使用Mechanize或Faraday在Ruby中发送JSON表单数据

我想从使用JSON数据的网站检索数据,以设置似乎是通过AJAX请求的自定义搜索参数。 传输的数据显示在Firebug中的XHR-> Request Payload下: {“filters”: [{“action”: “post”, “filterName”: “Hersteller”, “ids”: [269], “settingName”: “Hersteller”, “settingValue”: “ValueA”}, {“action”: “delete”, “filterName”: “Modelle”, “settingName”: “Modelle”, “settingValue”: “”}]} 该站点不传输任何POST参数,只传输此JSON编码数据以应用搜索条件。 使用Mechanize将此数据作为post参数传递不起作用。 如何在Ruby on Rails中使用Mechanize或Faraday传输这些数据?

什么是Ruby相当于这个curl请求?

我想把它贴到api上。 这个文档中的示例适用于curl: curl -k -w %{http_code} -H “Content-Type:text/plain” -u user:pass –data-binary @filename https://server/url/here 这是我用法拉第试过的: require ‘rubygems’ require ‘faraday’ require ‘pp’ conn = Faraday.new(:url => ‘https://server/url/here’ , :ssl => {:verify => false} ) do |faraday| faraday.response :logger faraday.basic_auth(‘user’, ‘pass’) faraday.adapter Faraday.default_adapter end data = File.read(‘teste.txt’) res=conn.post ‘/’ , data pp res 它发布,我收到200代码,但出了点问题。 响应是服务器的登录页面。 curl -u是否等同于基本身份validation?

使用法拉第上传文件

我在尝试使用Faraday将文件上传到Web服务时遇到问题。 我的代码: conn = Faraday.new(‘http://myapi’) do |f| f.request :multipart end payload = { :file => Faraday::UploadIO.new(‘…’, ‘image/jpeg’) } conn.post(‘/’, payload) 尝试发布后似乎没有任何事情发生。 当我检查响应时, 这就是我所看到的: #:post, :body=>#<Faraday::CompositeReadIO:0x007fd9e5903a50 @parts=[#<Parts::FilePart:0x007fd9e5903e38 @head="————-RubyMultipartPost\r\nContent-Disposition: form-data; name=\"file\"; filename=\"indymade-badge-horizontal.png\"\r\nContent-Length: 7821\r\nContent-Type: image/png\r\nContent-Transfer-Encoding: binary\r\n\r\n", @foot="\r\n", @length=8026, @io=#<CompositeReadIO:0x007fd9e5903b68 @ios=[#, #<UploadIO:0x007fd9e514a3b8 @content_type="image/png", @original_filename="indymade-badge-horizontal.png", @local_path="/Users/anthonator/Downloads/indymade-badge-horizontal.png", @io=#, @opts={}>, #], @index=0>>, #<Parts::EpiloguePart:0x007fd9e5903ac8 @part="————-RubyMultipartPost–\r\n\r\n", @io=#>], @ios=[#<CompositeReadIO:0x007fd9e5903b68 @ios=[#, #<UploadIO:0x007fd9e514a3b8 @content_type="image/png", @original_filename="indymade-badge-horizontal.png", @local_path="/Users/anthonator/Downloads/indymade-badge-horizontal.png", @io=#, […]

如何调试Ruby google-api-client的HTTP

我正在尝试使用google-api-client与Google云端硬盘集成。 由于有很多东西正在进行,我希望能够看到线路上的内容(http级别)。 似乎客户端使用Faraday进行http连接。 我如何从法拉第中获取线路调试?