2009-10-22 63 views
0

的Ruby代码:转换的Ruby代码为PHP帮助请

# 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); 
+0

你想要帮忙还是想让别人为你写出整件事? – 2009-10-22 05:21:41

+2

我们会帮助你解决你的问题,但我们不会为你做你的工作。告诉我们你在这方面付出了一些努力,我们会在剩下的时间帮助你。 – 2009-10-22 05:26:20

回答

0

发现问题..感谢您的输入。我把一个尾部的斜线放在不需要的地方,json_encode在编码周围加上了括号,并且不需要它们。

1

看看json_encodejson_decodecURL扩展。

+0

这是迄今为止我所拥有的。 $ requestBody = json_encode(array(“itemFilter”=> array(“keywords”=>“milk”))); $ headers = array('X-CUSTOM-HEADER:MYCODE'); $ connection = curl_init(); curl_setopt($ connection,CURLOPT_URL,'http://www.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($ connect – Brad 2009-10-22 07:02:03

+0

它不工作..我猜我要去的URL或POST字段错误,因为它看到我的自定义标题代码就好了。 – Brad 2009-10-22 07:03:32

+0

编辑你的问题;添加你的代码,预期的结果和实际结果,用4个空格缩进每行代码,将其格式化为代码。 – outis 2009-10-22 07:39:47