国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

深入理解curl類,可用于模擬get,post和curl下載

2024-05-04 23:09:18
字體:
來源:轉載
供稿:網友
如下所示:

復制代碼 代碼如下:


<?php
class Curl {
/*
* get 方式獲取訪問指定地址
* @param string url 要訪問的地址
* @param string cookie cookie的存放地址,沒有則不發送cookie
* @return string curl_exec()獲取的信息
* @author andy
**/
public function get( $url, $cookie='' )
{
// 初始化一個cURL會話
$curl = curl_init($url);
// 不顯示header信息
curl_setopt($curl, CURLOPT_HEADER, 0);
// 將 curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 使用自動跳轉
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
if(!empty($cookie)) {
// 包含cookie數據的文件名,cookie文件的格式可以是Netscape格式,或者只是純HTTP頭部信息存入文件。
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie);
}
// 自動設置Referer
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
// 執行一個curl會話
$tmp = curl_exec($curl);
// 關閉curl會話
curl_close($curl);
return $tmp;
}
/*
* post 方式模擬請求指定地址
* @param string url 請求的指定地址
* @param array params 請求所帶的
* #patam string cookie cookie存放地址
* @return string curl_exec()獲取的信息
* @author andy
**/
public function post( $url, $params, $cookie )
{
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_HEADER, 0);
// 對認證證書來源的檢查,0表示阻止對證書的合法性的檢查。
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
// 從證書中檢查SSL加密算法是否存在
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
//模擬用戶使用的瀏覽器,在HTTP請求中包含一個”user-agent”頭的字符串。
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
//發送一個常規的POST請求,類型為:application/x-www-form-urlencoded,就像表單提交的一樣。
curl_setopt($curl, CURLOPT_POST, 1);
// 將 curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 使用自動跳轉
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
// 自動設置Referer
curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
// Cookie地址
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie);
// 全部數據使用HTTP協議中的"POST"操作來發送。要發送文件,
// 在文件名前面加上@前綴并使用完整路徑。這個參數可以通過urlencoded后的字符串
// 類似'para1=val1¶2=val2&...'或使用一個以字段名為鍵值,字段數據為值的數組
// 如果value是一個數組,Content-Type頭將會被設置成multipart/form-data。
curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($params));
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
/**
* 遠程下載
* @param string $remote 遠程圖片地址
* @param string $local 本地保存的地址
* @param string $cookie cookie地址 可選參數由
* 于某些網站是需要cookie才能下載網站上的圖片的
* 所以需要加上cookie
* @return void
* @author andy
*/
public function reutersload($remote, $local, $cookie= '') {
$cp = curl_init($remote);
$fp = fopen($local,"w");
curl_setopt($cp, CURLOPT_FILE, $fp);
curl_setopt($cp, CURLOPT_HEADER, 0);
if($cookie != '') {
curl_setopt($cp, CURLOPT_COOKIEFILE, $cookie);
}
curl_exec($cp);
curl_close($cp);
fclose($fp);
}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄱阳县| 大渡口区| 玉树县| 井冈山市| 汉寿县| 珠海市| 延庆县| 金湖县| 普宁市| 镇平县| 乐陵市| 新田县| 双桥区| 万宁市| 嘉义县| 雅安市| 莒南县| 长海县| 千阳县| 苏尼特右旗| 广西| 共和县| 新余市| 汝城县| 宜君县| 尉犁县| 深州市| 中方县| 孟津县| 马山县| 永城市| 天全县| 西充县| 长沙县| 绥滨县| 商洛市| 治多县| 综艺| 吉安县| 揭阳市| 盐城市|