Tag: https

获取HTTPS响应

这非常有效: require ‘net/http’ uri = URI(‘http://api.twitter.com/1/statuses/user_timeline.json’) args = {include_entities: 0, include_rts: 0, screen_name: ‘johndoe’, count: 2, trim_user: 1} uri.query = URI.encode_www_form(args) resp = Net::HTTP.get_response(uri) puts resp.body 但是从http更改为https会导致无意义的错误。 我不是在问为什么错误没有意义,我想知道为https做最好的get_response方法是什么? 我在Net :: HTTP文档中看到了’HTTPS’示例,但它看起来不太令人印象深刻,并且会让我手动编写我的参数哈希的URL – 没有用。

如何使用net / httpvalidationruby中的SSL证书链

如何使用net / http在ruby中validationhttps://processing.ukash.com/等网站的证书? https = Net::HTTP.new(‘processing.ukash.com’, 443) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE 到目前为止工作,但我如何validation它现在是正确的证书? 我从firefox中保存了证书,但生成的.pem文件中有许多证书,net / http似乎不喜欢它。

使用Ruby脚本通过https登录网站

好吧,所以这是故事:我正在开发一个Ruby应用程序,它将从网站获取数据,并将该数据聚合到XML文件中。 我需要从中获取数据的网站没有我可以使用的任何API,所以我唯一能想到的是登录网站,依次加载有我需要的数据的页面(在这种情况下,PMs) ;我想存档它们,然后解析返回的HTML。 但问题是,我不知道以编程方式模拟登录会话的任何方法。 是否有人有任何建议,或知道我可以用来成功登录到https页面的任何经过validation的方法,然后使用登录中的临时cookie会话以编程方式从网站加载页面? 它不一定是一个只有Ruby的解决方案 – 我只想知道我是如何实现这一点的。 如果有帮助,有问题的网站是使用Microsoft的.NET Passport服务作为其登录/会话机制的网站。 有关此事的任何意见都是受欢迎的。 谢谢。

无法使用curl,httparty或net :: http获取https协议中的任何内容

我无法使用https获取任何内容。 我不能取任何东西: curl -k https://graph.facebook.com 要么 uri = URI(‘https://graph.facebook.com/davidarturo’) Net::HTTP.get(uri) 我明白了: error: EOFError: end of file reached 此外,httparty和https也没有运气

使用Net :: HTTP的块forms的HTTPS请求 – 是否可能?

要执行不带阻止表单的Net :: HTTP https请求,您可以执行以下操作: … http = Net::HTTP.new(url.host, url.port) http.use_ssl = true … 但有没有办法告诉Net :: HTTP在执行块表单时使用https? u = URI.parse(url) Net::HTTP.start(u.host, u.port) do |http| # if I put http.use_ssl = true here, ruby complains that this can’t # be done becuase the sesion has already started resp = http.get(u.request_uri) end 我在ruby1.8.7上

支持HTTPS的中间人(MITM)代理

我们此刻似乎有点转圈。 我们正在寻找简单的轻量级,最好是基于ruby的代理,使我们能够做到以下几点。 浏览器和Web应用程序之间的代理HTTPS请求。 例如GMail 拦截并修改请求/响应 – 中间人修改 生成即时SSL证书(或可能是我们预先配置的),以便在代理和浏览器之间使用 使用Ruby,我们已经尝试了em-proxy和Goliath,但我不认为这些非常合适。 任何建议将非常感谢。 最好的祝福, Carlskii。

具有HTTPS,SSL客户端证书和Keep-Alive支持的Ruby的HTTP库?

我正在尝试用Ruby编写HTTPS客户端。 它将使用HTTPS连接到服务器,传递身份validation令牌(通过单独的登录过程获得)和SSL客户端证书。 我正在使用rest-client执行以下操作: client = RestClient::Resource.new(url, :ssl_client_cert => OpenSSL::X509::Certificate.new(File.read(‘./certificate/client-2048.pem’)), :ssl_client_key => OpenSSL::PKey::RSA.new(File.read(‘./certificate/client-2048.key’), ”), :verify_ssl => OpenSSL::SSL::VERIFY_NONE) # … headers = { ‘X-Application’ => APP_KEY, ‘X-Authentication’ => @session_token, ‘content-type’ => ‘application/json’, ‘Accept’ => ‘application/json’ } response = client.post(request, headers) 这是有效的,但我想做的是使用keep-alive,以避免每次我想提出请求时都要经历整个连接过程。 所涉及的延迟使得我正在编写的监控应用程序变得不那么有用。 但是,我似乎找不到的是一个提供以下内容的Ruby库: HTTPS支持 SSL客户端证书支持 活着 对于应该提供它的rest客户,有一个拉动请求 。 httparty具有persistent_httparty,但如果它支持SSL客户端证书,则没有相关文档 。 我可以fork rest-client,合并现在已经位腐烂的pull-request,并使用它。 但是我肯定在这里遗漏了一些东西……是否有现有的图书馆提供我正在寻找的东西? 或者一些httparty文档解释了SSL库证书的SSL客户端证书使用情况? 任何帮助将不胜感激。

配置WEBrick以使用自动生成的自签名SSL / HTTPS证书

我想用SSL / HTTPS在本地开发我的Ruby on Rails应用程序,但是我在设置服务器以使用SSL时遇到了麻烦。 以下是我到目前为止已经尝试过的事情: rails server [options] rails server命令没有附带ssl选项( rails server –help ): Usage: rails server [mongrel, thin, etc] [options] -p, –port=port Runs Rails on the specified port. Default: 3000 -b, –binding=ip Binds Rails to the specified ip. Default: 0.0.0.0 -c, –config=file Use custom rackup configuration file -d, –daemon Make server run as […]

使用https连接到具有由我创建的CA签名的证书的服务器

我有一个测试环境,使用Ruby通过https连接驱动服务器。 由于最新版本的Ruby拒绝连接到具有无效证书的https服务器(请参阅我之前的这个问题 ),并且我想开始使用更新版本的Ruby,我正在尝试设置有效的证书。 我已经创建了一个要使用的CA证书(有多个服务器正在测试,所以这似乎更容易),并且已成功使用它来签署已安装在服务器上并正在使用的新证书。 我已将CA证书添加到浏览器商店,它(浏览器)现在将连接到服务器而无需投诉。 所以我相信我的证书是有效的并且设置正确。 我知道Ruby不会使用与浏览器相同的商店。 我使用此处提供的CA文件来测试连接到其他(公共)服务器(使用Net::HTTP#ca_file=方法设置),这也有效。 我无法工作的是Ruby使用我的证书连接到我的服务器。 我已经尝试了各种方法将它指向我的证书(包括将我的证书添加到上面链接的文件),它总是给出相同的错误: SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 read server hello A (OpenSSL::SSL::SSLError) 我该怎么做才能说服Ruby接受我的证书并连接到我的服务器? 我使用的代码是: require ‘net/https’ uri = URI.parse(“https://hostname/index.html”) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true http.verify_mode = OpenSSL::SSL::VERIFY_PEER http.ca_file = “My CA cert file” request = Net::HTTP::Get.new(uri.path) response = http.request(request) 我假设这是错误的。 我想知道的是,我该怎么做才能使用我的CA证书?

Ruby Mechanize https错误

我正在尝试执行以下操作: page = Mechanize.new.get “https://sis-app.sph.harvard.edu:9030/prod/bwckschd.p_disp_dyn_sched” 但我只得到这个例外: OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv2/v3 read server hello A: sslv3 alert illegal parameter from /Users/amosng/.rvm/gems/ruby-1.9.3-p194/gems/net-http-persistent-2.7/lib/net/http/persistent/ssl_reuse.rb:70:in `connect’ from /Users/amosng/.rvm/gems/ruby-1.9.3-p194/gems/net-http-persistent-2.7/lib/net/http/persistent/ssl_reuse.rb:70:in `block in connect’ from /Users/amosng/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/timeout.rb:54:in `timeout’ from /Users/amosng/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/timeout.rb:99:in `timeout’ from /Users/amosng/.rvm/gems/ruby-1.9.3-p194/gems/net-http-persistent-2.7/lib/net/http/persistent/ssl_reuse.rb:70:in `connect’ from /Users/amosng/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/http.rb:755:in `do_start’ from /Users/amosng/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/http.rb:750:in `start’ from /Users/amosng/.rvm/gems/ruby-1.9.3-p194/gems/net-http-persistent-2.7/lib/net/http/persistent.rb:511:in `connection_for’ from /Users/amosng/.rvm/gems/ruby-1.9.3-p194/gems/net-http-persistent-2.7/lib/net/http/persistent.rb:806:in `request’ from /Users/amosng/.rvm/gems/ruby-1.9.3-p194/gems/mechanize-2.5.1/lib/mechanize/http/agent.rb:258:in `fetch’ from /Users/amosng/.rvm/gems/ruby-1.9.3-p194/gems/mechanize-2.5.1/lib/mechanize.rb:407:in `get’ from […]