PHP cURL関数パッケージ
概念の説明
CURLは非常に強力なオープンソースライブラリであり、HTTP、FTP、TELNETなど多くのプロトコルをサポートし、cURLを使用してGetとPostリクエストを実現する方法である.
シーンの適用
開発中にサービス側がAPIを呼び出す場合、第三者APIにGETまたはPOSTリクエストを開始し、jsonまたはxmlである可能性があり、HTTPプロトコルヘッダ情報を構成してリクエストを開始する必要がある場合もよくあります.この場合はcURLが必要です.例えば、天気予報の言い訳、微信インタフェース、支払いインタフェースなどです.
関数コード
CURLは非常に強力なオープンソースライブラリであり、HTTP、FTP、TELNETなど多くのプロトコルをサポートし、cURLを使用してGetとPostリクエストを実現する方法である.
シーンの適用
開発中にサービス側がAPIを呼び出す場合、第三者APIにGETまたはPOSTリクエストを開始し、jsonまたはxmlである可能性があり、HTTPプロトコルヘッダ情報を構成してリクエストを開始する必要がある場合もよくあります.この場合はcURLが必要です.例えば、天気予報の言い訳、微信インタフェース、支払いインタフェースなどです.
関数コード
/**
* [cUrl cURL( HTTP/HTTPS,GET/POST)]
* @author qiuguanyou
* @copyright
* @version V1.0
* @date 2017-04-12
* @param [string] $url [ ]
* @param [Array] $header [HTTP Request headers array('Content-Type'=>'application/x-www-form-urlencoded')]
* @param [Array] $data [ array('name'=>'value')]
* @return [type] [ xml xml, json]
*/
public static function cUrl($url,$header=null, $data = null){
// curl
$curl = curl_init();
// cURL
if(is_array($header)){
curl_setopt($curl, CURLOPT_HTTPHEADER , $header);
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
if (!empty($data)){//post
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
}
//
$output = curl_exec($curl);
// cURL
curl_close($curl);
// json
$json=json_decode($output,true);
// json xml
if ($json) {
return $json;
}else{
# xml
libxml_disable_entity_loader(true);
# xml
$xml = simplexml_load_string($output, 'SimpleXMLElement', LIBXML_NOCDATA);
return $xml;
}
}