接通微信jssdk的時候正好用到curl畏吓,順便簡單整理了一下方便以后使用疯汁。
get請求
function _httpGet($url=""){
$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_TIMEOUT, 500);
// 為保證第三方服務器與微信服務器之間數(shù)據(jù)傳輸?shù)陌踩孕鸱玻形⑿沤涌诓捎胔ttps方式調(diào)用淳玩,必須使用下面2行代碼打開ssl安全校驗劫谅。
// 如果在部署過程中代碼在此處驗證失敗眼坏,請到 http://curl.haxx.se/ca/cacert.pem 下載新的證書判別文件。
// curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_URL, $url);
$res = curl_exec($curl);
curl_close($curl);
return $res;
}
post請求
function _httpPost($url="" ,$requestData=array()){
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//普通數(shù)據(jù)
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($requestData));
$res = curl_exec($curl);
//$info = curl_getinfo($ch);
curl_close($curl);
return $res;
}
// 發(fā)送json數(shù)據(jù)
$requestData = '{"name":"hello","age":122,"arr":{"arrid":44,"name":"world","test":[333,444,555,66,"xxdfads"]}}';
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Content-Length:' . strlen($requestData)));
curl_setopt($curl, CURLOPT_POSTFIELDS, $requestData);
// 服務器端接收json數(shù)據(jù) file_get_contents('php://input');
curl_setopt($ch, CURLOPT_HEADER, 1); //返回response頭部信息
curl_setopt($ch, CURLINFO_HEADER_OUT, true); //TRUE 時追蹤句柄的請求字符串地粪,從 PHP 5.1.3 開始可用取募。這個很關鍵,就是允許你查看請求header
//設置請求頭
$headers = array();
$header[] = 'User-Agent: iMAG0'; //設置一個你的瀏覽器agent的header
$header[] = 'token:Test'; //設置一個你的瀏覽器agent的header
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$info = curl_getinfo($curl);
foreach ($info as $key => $value) {
if (is_string($value) || is_int($value)){
echo $key . ":" . $value ."\r\n";
}
}