将Ruby代码转换为PHP帮助请

时间:2009-10-22 05:12:18

标签: php ruby-on-rails ruby

Ruby代码:

  # Turn hash input into JSON, store it in variable called "my_input"
my_input = { "itemFilter" => { "keywords" => "milk" }}.to_json 
  # Open connection to website.com
@http = Net::HTTP.new("website.com")
  # Post the request to our API, with the "findItems" name and our JSON from above as the value
response_code, data = @http.post("/requests", "findItems=#{my_input}", 
                                 {'X-CUSTOM-HEADER' => 'MYCUSTOMCODE'}) 
my_hash = Crack::JSON.parse(data)
my_milk = my_hash["findItems"]["item"].first

PHP代码:

$requestBody = json_encode(array("itemFilter" => array( "keywords" => "milk" ))); 
$headers = array ('X-CUSTOM-HEADER: MYCODE'); 
$connection = curl_init(); 
curl_setopt($connection, CURLOPT_URL, 'website.com/request/findItems='); 
curl_setopt($connection, CURLOPT_HTTPHEADER, $headers); 
curl_setopt($connection, CURLOPT_POST, 1); 
curl_setopt($connection, CURLOPT_POSTFIELDS, $requestBody); 
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1); 
$response = curl_exec($connection); 
curl_close($connection); 
print_r($response);

2 个答案:

答案 0 :(得分:1)

查看json_encodejson_decodecURL扩展程序。

答案 1 :(得分:0)

发现问题..感谢您的输入。我在不需要的地方放了一个斜杠,json_encode在编码周围放了括号,它不需要它们。