Запрос cURL - как мне это сделать? - PullRequest
2 голосов
/ 05 июля 2011

Может кто-нибудь, пожалуйста, укажите мне правильное направление, как я мог бы использовать следующее:

curl "https://api.xxxxxx.com/phones/:number/calls" \
-d"call[phone_number]=<number-to-call>" \
-d"token=<api_token>" \
--insecure

Я пытался найти ответ, но я просто не могу заставить что-то работать на меня - это должно заставить телефон звонить !!! теоретически! Но не могу найти способ отправки запроса с PHP.

Спасибо, B.

Ответы [ 2 ]

5 голосов
/ 05 июля 2011

Примерно так, используя PHP cURL :

<?php
$ch = curl_init();

$data = array(
  'call[phone_number]' => '<number-to-call>', 
  'token' => '<api_token>'
);

curl_setopt($ch, CURLOPT_URL, 'https://api.xxxxxx.com/phones/:number/calls');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_exec($ch);
?>
0 голосов
/ 05 июля 2011

я всегда слишком долго отправляю сообщения, да, извините: D

<?php     

    //optional comment out or delete    
    error_reporting(E_ALL);    

    // The POST URL and parameters    
    $request =  'http://world.needforspeed.com/SpeedAPI/ws/game/nfsw/driver/'.$u.'/profile?output=xml';    

    // Get the curl session object    
    $session = curl_init($request);    

    // Set the POST options.     
    curl_setopt($session, CURLOPT_HEADER, true);    
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true);    

    // Do the POST and then close the session    
    $response = curl_exec($session);    
    curl_close($session);    

    // Get HTTP Status code from the response    
    $status_code = array();    
    preg_match('/\d\d\d/', $response, $status_code);    

    // Check for errors    
    switch( $status_code[0] ) {    
        case 200:    
            // Success    
            break;    
        case 503:    
            die('Service unavailable. An internal problem prevented us from returning data to you.');    
            break;    
        case 403:    
            die('Forbidden. You do not have permission to access this resource, or are over your rate limit.');    
            break;    
        case 400:    
            // You may want to fall through here and read the specific XML error    
            die('Bad request. The parameters passed to the service did not match as expected. The exact error is returned in the XML response.');    
            break;    
        default:    
            die('Your call returned an unexpected HTTP status of:' . $status_code[0]);    
    }    

    // Get the XML from the response, bypassing the header    
    if (!($xml = strstr($response, '<?xml'))) {    
        $xml = null;    
    }    

    // Output the XML    

    $worldDriverprofile = simplexml_load_string($xml);    

        $playername = $worldDriverprofile['name'];    
        $playerlevel = $worldDriverprofile['level'];    
        $playermessage = $worldDriverprofile['statusMessage'];      
        $playerimage = $worldDriverprofile['image'];
        $playerdefault = $worldDriverprofile['defaultPersona'];

    echo "Driver Name: $playername <br />";    
    echo "Level: $playerlevel <br />";     
    echo "Message: $playermessage <br />";
?>

это для SpeedAPI, когда нужно скоростной мир, но вы можете изменить его для любого xml, из которого вы звоните.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...