php 抓取https请求数据,PHP + curl 实现 http 或 https 抓取数据:
/**
* 抓取數(shù)據(jù) https 或 http 形式
* @param $url 鏈接
* @param $data 參數(shù)
* @return mixed 返回數(shù)據(jù)
*/
private function curlS($url, $data)
{
$UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$curl = curl_init(); // 啟動一個CURL會話
curl_setopt($curl, CURLOPT_URL, $url); // 要訪問的地址
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 對認(rèn)證證書來源的檢查
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2); // 從證書中檢查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent/*$_SERVER['HTTP_USER_AGENT']*/); // 模擬用戶使用的瀏覽器
if (ini_get('open_basedir') == '' && ini_get('safe_mode' == 'Off')) {
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
}
//curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自動跳轉(zhuǎn)
curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自動設(shè)置Referer
curl_setopt($curl, CURLOPT_POST, 1); // 發(fā)送一個常規(guī)的Post請求
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的數(shù)據(jù)包
curl_setopt($curl, CURLOPT_TIMEOUT, 200); // 設(shè)置超時限制防止死循環(huán)
curl_setopt($curl, CURLOPT_HEADER, 0); // 顯示返回的Header區(qū)域內(nèi)容
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 獲取的信息以文件流的形式返回
$tmpInfo = curl_exec($curl); // 執(zhí)行操作
if (curl_errno($curl)) {
echo 'Errno'.curl_error($curl);//捕抓異常
}
curl_close($curl); // 關(guān)閉CURL會話
return $tmpInfo; // 返回數(shù)據(jù)
}
總結(jié)
以上是生活随笔為你收集整理的php 抓取https请求数据,PHP + curl 实现 http 或 https 抓取数据:的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pythongif字符动图,利用Pyth
- 下一篇: 选32位 64位 oracle,32位P