2016-09-23 3 views
0

Ich habe eine Website, die in PHP Yii2 Framework geschrieben hat. Ich habe zweite, die in mvc.net geschrieben ist, die eine API hat, zum Beispiel www.secondone.com/api/get_records genannt. Diese API gibt json zurück und ich möchte diese json in meiner yii2-Anwendungsaktion verwenden. Wie erhält man den Inhalt einer externen URL in yii2-Aktion?wie an eine externe URL in yii2 Aktionsmethode zu senden

+1

einen Blick auf diese http://www.yiiframework.com/extension/yii2-curl/ –

Antwort

2

können Sie curl

ROTATION versuchen ist eine Bibliothek, die Sie machen HTTP-Anfragen in PHP können. Alles Sie müssen darüber (und die meisten anderen Erweiterungen) wissen, in das PHP-Handbuch gefunden werden.

In order to use PHP's cURL functions you need to install the » libcurl package. PHP requires that you use libcurl 7.0.2-beta or 

höher. In PHP 4.2.3 benötigen Sie libcurl Version 7.9.0 oder höher. Ab PHP 4.3.0 benötigen Sie eine libcurl-Version, die 7.9.8 oder höher ist. PHP 5.0.0 benötigt eine libcurl Version 7.10.5 oder höher.

Sie können HTTP-Anfragen auch ohne cURL stellen, obwohl es erforderlich ist, dass allow_url_fopen in Ihrer php.ini-Datei aktiviert wird.

hier einige Beispielcode

$service_url = 'http://path/to/api.asmx/function_name'; 
$curl = curl_init($service_url); 
$curl_post_data = array(
     'param1' => 'val1', 
     'param2' => 'val2' 
); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($curl, CURLOPT_POST, true); 
curl_setopt($curl, CURLOPT_POSTFIELDS, $curl_post_data); 
$curl_response = curl_exec($curl); 
if ($curl_response === false) { 
    $info = curl_getinfo($curl); 
    curl_close($curl); 
    die('error occured during curl exec. Additioanl info: ' . var_export($info)); 
} 
curl_close($curl); 
$decoded = json_decode($curl_response); 
if (isset($decoded->response->status) && $decoded->response->status == 'ERROR') { 
    die('error occured: ' . $decoded->response->errormessage); 
} 
echo 'response ok!'; 
var_export($decoded->response); 
Verwandte Themen