Ruby rest-client
gemを使用してRESTリソースに投稿する必要があります。phpとrubyの同等のRESTコード
HTTPリクエストの例は次のとおりです。
POST /somefolder HTTP/1.1
Authorization: Basic YWFhOmFw
Host: example.com
folder: creat
、それはPHPで書かれたデモ・コードを提供し、うまく機能:
<?php
$process = curl_init('example.com/somefolder');
curl_setopt($process, CURLOPT_POST, 1);
curl_setopt($process, CURLOPT_POSTFIELDS, '');
curl_setopt($process, CURLOPT_HTTPHEADER, array('folder: true'));
curl_setopt($process, CURLOPT_USERPWD, "username:password");
curl_setopt($process, CURLOPT_HEADER, 0);
curl_setopt($process, CURLOPT_TIMEOUT, 30);
curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
print(curl_exec($process)."<br/>");
print(curl_getinfo($process, CURLINFO_HEADER_OUT).'<br/>');
curl_close($process);
?>
私のRubyコードは次のとおりです。
resource = RestClient::Resource.new('http://example.com/', :user => 'username', :password => 'password')
resource.post 'somefolder', :folder => 'true'
しかし、それは禁止された403を返します。私はルビーのどこが間違っているのか知りたい。ありがとう。
ところで、私はどのようにルビーコードによって送信されたHTTPトラフィックをキャプチャできますか?私はMACを使用しています。
ありがとう、アブラハム、それは動作します。実際には、正しいコードは 'resource ['somefolder']。post ''、:folder => 'true'' – Frankel