2016-07-08 6 views
0

私はこのようなカールラインがあります。ruby​​でcurlをopen-uriに変換しますか?

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

を、私はこのようなオープン-uriの呼び出しに変換したい:

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

は、これまでの作品が、どのように私は含まれません - dのデータ属性は-d 'checksum_type = paypal' -d 'amount = 4200'?

おかげで、アンドレアス

+0

私はあなたが縁石と呼ばれる宝石を見ていることを示唆しています。私は過去に同じ問題を抱えていました。アプリケーション内でまったく同じカール線を使うことができます。 – MageeWorld

+0

@phoffer、データのような属性で-dを置き換えようとしました:{'checksum_type = paypal'、 'amount = 4200 '}またはd:{..}のように働いていたのですが、http_basic_authentication:...これは私のために働いていません – kernification

+0

@MageeWorldありがとうございます。 – kernification

答えて

1

は、私はあなたが直接Net::HTTPを使用して(だけではなく、便利なラッパーである、オープン-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) 
関連する問題