Tag: net http

为什么我在Rails中使用’net / http’获得“Errno :: ECONNREFUSED”?

我试图从URL解析XML文件。 当我尝试这样的事情时: require ‘net/http’ require ‘rubygems’ require ‘xmlsimple’ url = ‘http://my-address.com/xmltest/note.xml’ xml_data = Net::HTTP.get_response(URI.parse(url)).body 一切正常,但只有当我在我的Rails项目之外这样做时。 如果我尝试在我的Rails 3项目中包含此文件并在那里解析它,我会收到错误”Errno::ECONNREFUSED in [controller]” – Connection refused – connect(2) 。 我的问题如下:我不知道如何安装net/http组件。 我在http://www.rubygems.org上找它,但我找不到它。

Rails – 向另一台服务器发送多个http请求

1000个用户在同一时间向我的Rails服务器发出请求。 对于每个用户,我需要向其他服务器发出50个http请求,每个服务器需要1秒钟才能响应。 如何编写应用程序代码以便尽快响应用户? (注意:该应用尚未启动且数字是假设的。)

使用Ruby on Rails将JSON / XML数据发布到Web服务

我在Java中使用Spring框架构建了一个Web服务,并在localhost上的tc服务器上运行。 我使用curl测试了Web服务,它可以工作。 换句话说,此curl命令将向Web服务发布新事务。 curl -X POST -H ‘Accept:application/json’ -H ‘Content-Type: application/json’ http://localhost:8080/BarcodePayment/transactions/ –data ‘{“id”:5,”amount”:5.0,”paid”:true}’ 现在,我正在使用RoR构建一个Web应用程序,并希望做类似的事情。 我该如何构建它? 基本上,RoR Web应用程序将是发布到Web服务的客户端。 搜索SO和网络,我发现了一些有用的链接,但我无法让它工作。 例如,从这篇文章中 ,他/她使用net / http。 我试过但它不起作用。 在我的控制器中,我有 require ‘net/http’ require “uri” def post_webservice @transaction = Transaction.find(params[:id]) @transaction.update_attribute(:checkout_started, true); # do a post service to localhost:8080/BarcodePayment/transactions # use net/http url = URI.parse(‘http://localhost:8080/BarcodePayment/transactions/’) response = Net::HTTP::Post.new(url_path) request.content_type = ‘application/json’ […]

Ruby – 增加代理请求超时

我试图通过一些代理服务器访问一些内容,但我得到: 我修改了代码并尝试增加超时,如下所示: require ‘open-uri’ require ‘net/http’ response = Net::HTTP::Proxy(proxy_ip, proxy_port).get_response(uri.host, uri.path) response.start(uri.host) do |http| http.open_timeout = 5 http.read_timeout = 10 end 现在它没有重新open_timeout并start undefined method `open_timeout=’ for #> undefined method `start.. 有帮助吗?

在RoR中,如何从“无法打开TCP连接…(一般SOCKS服务器故障)”错误中恢复?

我正在使用Rails 4.2.7。 目前我正在通过SOCKS代理请求网页 begin … res1 = Net::HTTP.SOCKSProxy(‘127.0.0.1’, 50001).start(uri.host, uri.port) do |http| puts “launching #{uri}” resp = http.get(uri) status = resp.code content = resp.body content_type = resp[‘content-type’] content_encoding = resp[‘content-encoding’] end … rescue OpenURI::HTTPError => ex … rescue SocketError, Net::OpenTimeout, Zlib::BufError => e … end 偶尔我会得到以下错误.. Error during processing: Failed to open TCP connection to […]

如何使用Ruby在文本文件中搜索完全匹配的字符串?

我生成了一个文本文件,其中包含带有响应主体的HTTP请求响应头 我想在这个文件中搜索包含Access-Control-Allow-Origin: *作为标题的响应头。 该文件包含以->开头的行的forms,以”像这样结束: -> “Access-Control-Allow-Origin: *\r\n” 如何使用if条件搜索此文本文件并在请求响应标头上方打印自定义消息? 我需要一些复杂的正则表达式吗? 使用我的代码我无法得到正确的搜索: require ‘net/http’ require ‘uri’ require ‘IPAddr’ require ‘timeout’ puts “Origin IP:\n\n” originip = gets() puts “Start IP:\n\n” startip = gets() puts “End IP:\n\n” endip = gets() (IPAddr.new(“#{startip}”)..IPAddr.new(“#{endip}”)).each do |address| begin uri = URI(“http://#{address.to_s}”) http = Net::HTTP.new(uri.host, uri.port) http.set_debug_output($stdout) request = Net::HTTP::Get.new(uri.request_uri) request.initialize_http_header({“Origin” => “#{originip}”}) response […]

Ruby SSL握手没有收到服务器Hello回来 – 使用代理Net :: HTTP

我使用Ruby SSL双向身份validation连接到外部API。 我的最新脚本在这里: namespace :rnif_message do # With Proxy task send_test_index: :environment do our_cert = File.read(File.join(Rails.root, ‘ssl’, ‘invoice’, ‘test’, ‘cert20190116_ourcert.der’)) their_test_cert = File.read(File.join(Rails.root, ‘ssl’, ‘invoice’, ‘test’, ‘testcert2016_theircert.der’)) cert_store = OpenSSL::X509::Store.new # Contains their intermediate CA files cert_store.add_path File.join(Rails.root, ‘ssl’, ‘invoice’, ‘test’, ‘ca’) cert_store.add_cert OpenSSL::X509::Certificate.new(their_test_cert) uri = URI(“https://xml.digital.com/wm.rn/receive”) proxy_host = “us-static-02.qg.com” proxy_port = “port” proxy_user = […]

Ruby 2.3 – 向net:http请求添加超时错误和通知

我有一个工作系统来产生错误并将它们发送给Active Admin使用。 例如,在Active admin中,对于CMS的特定页面,页面可能会执行: url_must_be_accessible(“http://www.exmaple.com”, field_url_partner, “URL for the partner”) 这使用下面的代码向Active Admin Editor发送不同类型的错误通知: module UrlHttpResponseHelper def url_must_be_accessible(url, target_field, field_name) if url url_response_code = get_url_http_response(url).code.to_i case url_response_code when -1 # DNS issue; website does not exist; errors.add(target_field, “#{field_name}: DNS Problem -> #{url} website does not exist”) when 200 return when 304 return else errors.add(target_field, “#{field_name}: #{url} […]

Net HTTP unescapes字符?

Ruby Net HTTP是否具有unescape字符(例如龅 to 龅 )? 我使用HTTParty发送请求龅 但是请求服务器上的请求参数显示为龅 。

在获取网页时,如何捕获Ruby中的“处理时出错:缓冲区错误”?

我正在使用Rails 4.2.7和此代码通过SOCKS代理获取网页… begin … res1 = Net::HTTP.SOCKSProxy(‘127.0.0.1’, 50001).start(uri.host, uri.port) do |http| puts “launching #{uri}” resp = http.get(uri) status = resp.code content = resp.body content_type = resp[‘content-type’] content_encoding = resp[‘content-encoding’] end … rescue OpenURI::HTTPError => ex … rescue SocketError, Net::OpenTimeout => e … 偶尔,我在“rest = http.get(uri)”行上收到错误 Error during processing: buffer error /Users/mikeb/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http/response.rb:364:in `finish’ /Users/mikeb/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http/response.rb:364:in `finish’ /Users/mikeb/.rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/net/http/response.rb:266:in […]