繁体   English   中英

将卷曲转换为红宝石中的open-uri?

[英]Transform curl to open-uri in ruby?

我有这样的卷曲线:

curl https://api.paymill.com/v2.1/checksums -u 'private_user_key' -d 'checksum_type=paypal' -d 'amount=4200'

我想将其转换为如下所示的open-uri调用:

require 'open-uri'
open("https://api.paymill.com/v2.1/checksums", http_basic_authentication: ['private_user_key'])

到目前为止有效,但是如何包括-d'checksum_type = paypal'-d'amount = 4200'等-d数据属性?

谢谢,安德里亚斯

我认为直接使用Net::HTTP会更好(而不是仅使用open-uri,这只是一个便利包装)。 这使您可以更好地控制所发出的请求。

require 'net/http'
uri = URI("https://api.paymill.com/v2.1/checksums")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.basic_auth("username", "password")
request.set_form_data('checksum_type' => 'paypal', 'amount' => 4200)
response = http.request(request)

我在这里找到了一些很好的Net :: HTTP示例,包括表单请求: http ://www.rubyinside.com/nethttp-cheat-sheet-2940.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM