常用选项// HTTP-HEADER 头$arrHearders = [ 'Accept-Language:zh-CN,zh;q=0.8', 'Connection:keep-alive',
];
$strUrl = '请求地址';
$ch = curl_init();// 设置请求 User-Agent, 值是字符串curl_setopt($ch, CURLOPT_USERAGENT, $strUserAgent);// 设置请求 HTTP-HEADER 头,值是数组curl_setopt($ch, CURLOPT_HTTPHEADER, $arrHearders);// 禁止 SSL 验证curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// 请求的 URL 地址curl_setopt($ch, CURLOPT_URL, $strUrl);// curl_getinfo 结果里面增加请求的 Headers 信息curl_setopt($ch, CURLINFO_HEADER_OUT, true);// cURL 函数执行的最长秒数curl_setopt($ch, CURLOPT_TIMEOUT, 300);// 在尝试连接时等待的秒数。设置为0,则无限等待curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);// 执行结果中是否包含响应的 Headers 头信息curl_setopt($ch, CURLOPT_HEADER, false);// curl_exec 执行的结果不自动打印出来curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);// 执行$result = curl_exec($ch);// 获得执行的的信息$arrCurlExecInfo = curl_getinfo($ch);// 关闭 curl curl_close($ch);
var_dump($arrCurlExecInfo);if (!isset($arrCurlExecInfo['http_code'])
|| 200 != $arrCurlExecInfo['http_code']) { die('请求失败');
}if (empty($result)) { die('请求结果为空');
}
var_dump($result);
POST 请求// 设置为 POST 请求
curl_setopt($ch, CURLOPT_POST, 1);// POST 请求的数据. 如果数据是 URL-encoded 字符串时, 数据会被编码成 application/x-www-form-urlencoded. 如果数据是 Array 数组, 数据编码成 multipart/form-data
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
COOKIE 相关// 一部分是自行设定 COOKIE 值curl_setopt($ch, CURLOPT_COOKIE, '设置请求中的 COOKIE 部分');
// 另外一部分是先访问一次,拿到 COOKIE 保存到指定文件,然后再次访问的时候从文件当中读取出来curl_setopt($ch, CURLOPT_COOKIEJAR, '指定保存到的文件'); // 把访问得到的 COOKIE 保存到指定文件里面curl_setopt($ch, CURLOPT_COOKIEFILE, '保存 COOKIE 的文件路径名称'); // 从指定文件当中读取 COOKIE
代理相关// 代理协议 CURLPROXY_HTTP (默认值,代理为 HTTP、HTTPS 都设置此值)、 CURLPROXY_SOCKS4、 CURLPROXY_SOCKS5、 CURLPROXY_SOCKS4A、CURLPROXY_SOCKS5_HOSTNAMEcurl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);// 代理地址curl_setopt($ch, CURLOPT_PROXY, $strProxyServer);// 代理端口号,也可以写在代理地址里面curl_setopt($ch, CURLOPT_PROXYPORT, $strProxyPort);// 代理的用户名和密码curl_setopt($ch, CURLOPT_PROXYUSERPWD, "$strProxyUser:$strProxyPassWord");
批处理相关/**
* 调用方法时传入 url 数组,返回 curl_info 信息、错误信息、执行结果信息
* @param arr $arrUrls url 数组
* @retunr arr $arrResponses 返回 curl 执行情况、错误信息、返回结果的**数据
* [
* '$arrUrls键名' = |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|