2009-10-22 7 views
0

code Ruby:convertir le code Ruby PHP Aide S'il vous plaît

# 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 

Code 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

Voulez-vous de l'aide ou voulez-vous quelqu'un pour écrire le tout pour vous? –

+2

Nous allons vous aider avec vos problèmes, mais nous ne ferons pas votre travail pour vous. Montrez-nous que vous avez fait des efforts et que nous vous aiderons pour le reste. –

Répondre

0

Trouvé le problème .. Merci pour l'entrée. J'ai mis une barre oblique à l'endroit où cela n'était pas nécessaire, et le json_encode mettait des crochets autour de l'encodage, et il n'en avait pas besoin.

1

Jetez un oeil à json_encode, json_decode et l'extension cURL.

+0

C'est ce que j'ai jusqu'ici. $ requestBody = json_encode (array ("itemFilter" => array ("keywords" => "lait"))); $ 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, $ en-têtes); 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

+0

Cela ne fonctionne pas .. Je suppose que je vais mal les champs URL ou POST, car il voit mon code d'en-tête personnalisé très bien – Brad

+0

Modifier votre question, ajoutez votre code, le résultat attendu et résultat réel: indiquez chaque ligne de code avec 4 espaces pour la formater en code. – outis