Мне нужно опубликовать на ресурсе REST, используя рубин rest-client
gem.
Пример 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-трафик, отправленный с помощью кода ruby?Я использую MAC.