21,886
社区成员
发帖
与我相关
我的任务
分享
/**
* @param $url 提交链接
* @param bool $params 提交参数
* @param int $ispost 是否post
* @param int $https 是否https
* @param int $header 是否返回header内容
* @param int $set_cookie 设置cookie
* @param string $cookie_file cookie文件保存地址
* @param string $set_header 设置头
* @return bool|string
*/
function getNormalUrl($url,$params = false, $ispost = 0, $https = 0,$header = 0,$set_cookie = 0,$cookie_file = "",$set_header = '')
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.118 Safari/537.36');
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
if (1 == $set_cookie){ //获取相关页面cookie并写入文件
if ("" != $cookie_file){ //cookie文件保存位置(绝对路径)
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
}
}
if (2 == $set_cookie){
if ("" != $cookie_file){ //提交cookie文件位置(绝对路径)
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
}
}
if ($https) {
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // 对认证证书来源的检查
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // 从证书中检查SSL加密算法是否存在
}
if ($ispost) {
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_URL, $url);
} else {
if ($params) {
if (is_array($params)) {
$params = http_build_query($params);
}
curl_setopt($ch, CURLOPT_URL, $url . '?' . $params); // 此处就是参数的列表,给你加了个?
} else {
curl_setopt($ch, CURLOPT_URL, $url);
}
}
if($header){
curl_setopt($ch, CURLOPT_HEADER, 1); // 显示返回的Header区域内容
}else{
curl_setopt($ch, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
}
if('' != $set_header){ //设置http提交格式
curl_setopt($ch, CURLOPT_HTTPHEADER, $set_header);
}
if (0 != $img_upload){
curl_setopt($ch, CURLOPT_SAFE_UPLOAD, true);
}
$data = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
if (false === $data){
return false;
}else{
return $data;
}
}
if (1 == $set_cookie){ //获取相关页面cookie并写入文件
if ("" != $cookie_file){ //cookie文件保存位置(绝对路径)
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
}
}
if (2 == $set_cookie){
if ("" != $cookie_file){ //提交cookie文件位置(绝对路径)
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
}
}
// 这段改成
if ($cookie_file){ //cookie文件保存位置(绝对路径), 需要判断下目录/文件有没有写权限
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
}
请合理使用技术, 不要做违法的事情哦.