对于一些程序,可能需要判断来源网址,如果发现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()