Ruby 请求 https - “在‘read_nonblock’中:连接被对等方重置 (Errno::ECONNRESET)”

2024-04-26

这是我的代码

domain = 'http://www.google.com'
url = URI.parse "https://graph.facebook.com/fql?q=SELECT%20url,normalized_url%20FROM%20link_stat%20WHERE%20url='#{domain}'"
req = Net::HTTP::Get.new url.path
res = Net::HTTP.start(url.host, url.port) {|http| http.request req}
puts res.body

它给了我

/home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:153:in `read_nonblock': Connection reset by peer (Errno::ECONNRESET)
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:153:in `rbuf_fill'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:134:in `readuntil'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/protocol.rb:144:in `readline'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http/response.rb:39:in `read_status_line'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http/response.rb:28:in `read_new'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1405:in `block in transport_request'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1402:in `catch'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1402:in `transport_request'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:1375:in `request'
    from /home/alex/Documents/ruby_test1.rb:20:in `block in <main>'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:851:in `start'
    from /home/alex/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/net/http.rb:582:in `start'
    from /home/alex/Documents/ruby_test1.rb:20:in `<main>'

我做错了什么?


您的代码中有几个奇怪的地方。主要是:既然你用SSL你要承认HTTP.start关于与:use_ssl => url.scheme == 'https'. HTTP.Get构造函数等待URI,不是路径。总结:

domain = 'http://www.google.com'
url = URI.parse("https://graph.facebook.com/fql?q=SELECT%20url,normalized_url%20FROM%20link_stat%20WHERE%20url='#{domain}'")
req = Net::HTTP::Get.new url 
res = Net::HTTP.start(url.host, url.port, 
        :use_ssl => url.scheme == 'https') {|http| http.request req}
puts res 

Gives:

#<Net::HTTPOK:0x000000027d0558>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ruby 请求 https - “在‘read_nonblock’中:连接被对等方重置 (Errno::ECONNRESET)” 的相关文章

随机推荐

  • 构建前将jar添加到maven本地存储库

    我有第三部分 jar 文件 该文件远程不存在于项目目录中的文件 我想在执行 mvn install 时将此 jar 添加到本地存储库中 这是我当前执行此操作的代码
  • 在存在模板的情况下继承类型声明

    有没有办法在基类模板中声明类型并在子类模板中重用这些定义 例如 考虑以下尝试 template
  • 无法拦截来自 Nike.com 登录请求的流量

    我正在使用 BurpSuite 拦截登录时发送的 HTTP HTTPS 请求https www nike com https www nike com 我试图通过以下步骤来实现这一目标 打开 BurpSuite 和 Firefox 开启代理
  • 如何在共享驱动器上执行 xpdf (pdftotext.exe)?

    我正在尝试解析pdf to text via PHP and XPDF pdftotext exe 在我的本地主机上 一切运行良好 但是当我尝试将所有内容移动到服务器上时 我遇到了麻烦 首先我检查了服务器上的一些设置 安全模式是off ex
  • 绑定到 DataContext 的 WPF 样式 DataTrigger 不起作用

    我有一个 TextBox 其样式具有可更改文本的 DataTrigger 如下所示
  • 朱莉娅中未显示情节

    我有一个名为 mycode jl 的文件 其中包含以下代码here https juliastats org MultivariateStats jl dev pca using MultivariateStats RDatasets Pl
  • 图片上传亚马逊s3 android SDK 2.0

    我想将图像上传到 android 中的亚马逊 s3 存储桶 我没有收到任何错误 但它不起作用有人可以帮助我吗 我找不到任何关于此的好的例子或问题 我将图像分配给 文件图像3 images3 new File uri getPath publ
  • 带有@null背景的图像按钮(透明)[重复]

    这个问题在这里已经有答案了 我有一个图像按钮 其图像源具有透明度 但图像按钮的背景颜色是典型的灰色按钮颜色 我想设置背景 null 这工作正常 但是 当我按下此图像按钮时 我看不到指示我按下按钮的颜色 如果我按下按钮时删除背景 null 请
  • VSCode:找不到任务中的环境变量

    我试图在 VSCode 的tasks json 中定义我自己的环境变量 根据到目前为止我找到的每个链接 我尝试了以下操作 version 2 0 0 type shell options env APP NAME myApp problem
  • KineticJS - 如何在按钮单击时更改图像 src

    我试图通过单击按钮来更改kineticjs阶段中图像的src 我有一个可拖动的图像 在本例中为达斯维德 和顶部的静态图像 在本例中为猴子 单击按钮后 我希望能够用新图像替换可拖动图像 yoda JSFiddle 可以在这里看到 http j
  • spring框架中的命令对象是什么[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 你能解释一下吗Spring框架中的命令对象及其示例 来自 Spring 文档 Command Object 将使用表单中的数据填充的 Ja
  • 如何从 Intellij Maven 项目中永久删除模块?

    我目前正在 IntelliJIdea 12 1 6 Ultimate 中开发一个更大规模的基于 Maven 的项目 我使用 IntelliJIdea 已有大约 5 个月的时间了 包含的模块依赖于另一个模块 直到最近 依赖模块的源代码也是我项
  • Git 和 Dropbox - 本地存储库

    我阅读了大量有关 Dropbox 和 Git 功能结合的帖子并观看了许多视频 其中一个线程是这样的 有效地结合使用 Git 和 Dropbox https stackoverflow com questions 1960799 using
  • jQuery 中的“#”字符(数字符号)是什么意思?

    我是 Javascript 新手 我正在尝试理解一些代码 我不明白 也找不到任何有关的文档 sign function searchTerm autocomplete searchTerm 是什么意思 现在 可能意味着私有实例字段 http
  • 编译器“何时”隐式声明默认构造函数?

    我知道如果我们不声明它 编译器将生成一个默认构造函数 何时 是我感到困惑的一点 A class Base int main return 0 B class Base int main Base b Declare a Base objec
  • java程序计算XIRR而不使用excel或任何其他库

    我的应用程序必须计算XIRR 但我不能使用excel 因为它在Linux上运行 任何人都可以共享逻辑或java代码来计算XIRR而不使用excel 正如帖子中所述 C 中的 xirr 计算 https stackoverflow com q
  • Django - 从单独的应用程序导入视图

    我是 Django 新手 正在阅读 Holovaty 和 Kaplan Moss 所著的 Django Book 我有一个名为 mysite 的项目 其中包含两个名为 books 和 contact 的应用程序 每个都有自己的 view p
  • Selenium Python:如何在点击后等待页面加载?

    我想在点击后获取页面的页面源 然后使用 browser back 函数返回 但是 Selenium 不会让页面在点击后完全加载 并且 JavaScript 生成的内容不会包含在该页面的页面源中 element i click Need to
  • 在分页数之间添加点

    我已经用 PHP 和 AJAX 为表格编写了分页代码 每页将显示表格的 8 行 到这里为止一切正常 我现在需要的是使分页看起来像一系列数字和它们之间的点 如下所示 1 2 3 27 28 29 我有两个用于分页的文件 conf php
  • Ruby 请求 https - “在‘read_nonblock’中:连接被对等方重置 (Errno::ECONNRESET)”

    这是我的代码 domain http www google com url URI parse https graph facebook com fql q SELECT 20url normalized url 20FROM 20link