【问题标题】:sending POST in ruby?用红宝石发送POST?
【发布时间】:2011-04-02 08:53:57
【问题描述】:

有什么好的库可以用 ruby​​ 发送 POST 标头吗?

【问题讨论】:

    标签: ruby post


    【解决方案1】:

    标准库Net::HTTP 非常简单,可以处理POST

    来自文档:

    response = http.post('/cgi-bin/search.rb', 'query=foo')
    
    # using block
    File.open('result.txt', 'w') {|f|
      http.post('/cgi-bin/search.rb', 'query=foo') do |str|
        f.write str
      end
    }
    

    有关如何使用 Net::HTTP 的更详细示例,请参阅 August Lilleaas 的 Net::HTTP cheat sheet repository on Github

    【讨论】:

    • 你不说http对象是什么,或者怎么得到它
    • @Pablo 没错;我不。正如我所说,我直接从 Net::HTTP 的文档(我链接到该文档)中获取了该示例。我假设 OP 会通过学习如何使用 Net::HTTP 来跟进。 (教人钓鱼……)
    • 虽然链接备忘单的工作做得很好......我已经编辑了它,但把它回滚了,因为它看起来太侵入性了。总体最佳答案 = +10
    【解决方案2】:

    Net::HTTP 如前所述,卷曲包装器CurbHTTParty。根据您要执行的操作,它们可能会矫枉过正。

    【讨论】:

      【解决方案3】:

      你可以做这样的事情......

      require 'net/http'
      
      postData = Net::HTTP.post_form(URI.parse('http://thewebsite.net'), {'postKey'=>'postValue'})
      
      puts postData.body
      

      【讨论】:

        【解决方案4】:

        Ruby 中有大量的 HTTP 库。有标准的net/httplibcurl bindings。但是也有很多高级库来消费 Web 服务,例如 ActiveResource 和HTTParty。取决于你想做什么。也许您可以用更多信息更新您的问题?

        【讨论】:

          猜你喜欢
          • 2019-08-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-21
          • 1970-01-01
          • 2010-09-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多