對于一些程序,可能需要判斷來源網址,如果發現referer不是自己的網站,則拒絕訪問,這時候,就需要添加`CURLOPT_REFERER`參數,模擬來路,使得程序能夠正常采集。
~~~
<?php
$keyword = 'PHP cURL';
// 參數方法一
// $post = 'wd=' . urlencode($keyword);
// 參數方法二
$post = array(
'wd' => urlencode($keyword),
);
$url = 'http://demo.zjmainstay.cn/php/curl/search_refer.php';
$refer = 'http://demo.zjmainstay.cn/'; //來路地址
// 執行請求
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //返回數據不直接輸出
curl_setopt($ch, CURLOPT_REFERER, $refer); //來路模擬
curl_setopt($ch, CURLOPT_POST, 1); //發送POST類型數據
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); //POST數據,$post可以是數組,也可以是拼接
$content = curl_exec($ch); //執行并存儲結果
curl_close($ch);
~~~
- 目錄
- Array
- array_column()
- 數組和變量
- compact() 函數
- extract() 函數
- Url
- base64_encode — 使用 MIME base64 對數據進行編碼
- 圖像
- getimagesize()
- 隨機數
- getrandmax
- mt_getrandmax
- mt_rand
- rand
- empty函數
- exec()函數
- 權限修改
- 可變函數
- 函數閉包
- 報警級別
- 持續函數
- 自定義
- 字符處理
- 中文首字母
- 隨機字符串
- url函數
- parse_url_param
- 頁面采集
- 簡單采集
- Referer采集
- CURL
- 發送json數據
- Curl多線程
- 文件處理
- 遞歸刪除
- 圖片顯示
- 類方法
- 保留字
- 檢查類文件名稱
- Cookie
- 數組
- 數學函數
- 第三方函數庫
- 精度計算
- BC Math
- 計算執行時間
- 日期時間
- 時間戳
- header
- 調試函數
- get_class
- get_class_methods
- 數組函數
- array_intersect_key()
- 二維數組
- Base64編碼
- URL安全
- 加密擴展
- Hash函數
- hash_file
- hash_hmac
- hash_algos
- 文件讀寫
- is_writable()
- file_put_contents()