如何用Typhoeus输入文件?

时间:2014-04-21 15:40:14

标签: ruby curl put typhoeus

我正在尝试通过HTTP PUT请求发送文件。 Curl允许这样:

http://curl.haxx.se/docs/httpscripting.html#PUT

使用Typheous执行此操作的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

FWIW我认为这是对问题的完整(但不一定是最短)答案。

Curl允许上传带有PUT的文件;调用是:

$ curl --upload-file filename url 

其中url可能类似于:

http://someurl/script.php?var=value&anothervar=val&...

Typhoeus提供相同的功能,但传递url,params及其值以及文件正文的正确方法都隐藏在ethon docs中:

request = Typhoeus::Request.new(
    url, :method => :put, :params => params_hash,
    :body => File.open(filename) { |io| io.read })

使用请求对象获取响应等

答案 1 :(得分:0)

你看起来不是很难:

  

示例:

     

提出请求。

   Typhoeus.put("www.example.com")
     

参数:

base_url (String) — The url to request.
options (options) (defaults to: {}) — The options.
     

选项哈希(选项):

:params (Hash) — Params hash which is attached to the base_url.
:body (Hash) — Body hash which becomes a PUT request body.

http://rubydoc.info/github/typhoeus/typhoeus/Typhoeus/Request/Actions#put-instance_method