企业网站建设咨询,在网站挂广告一个月多少钱,海盐网站设计,公众号 手机网站开发这里要说明一下...这个类的形成是参考了晚上前辈们的代码加上我自己的理解见解而集成的...前辈们的代码出处已经忘记了我在这里感谢这些前辈们给我的启发...希望这个类能给大家带来帮助...如果有不足的地方...请大家多多指点指点这是一个PHP CURL的类public $cookieFile; …这里要说明一下...这个类的形成是参考了晚上前辈们的代码加上我自己的理解见解而集成的...前辈们的代码出处已经忘记了我在这里感谢这些前辈们给我的启发...希望这个类能给大家带来帮助...如果有不足的地方...请大家多多指点指点这是一个PHP CURL的类public $cookieFile; //cookie存放路径public $loginUrl; //登录链接public $loginFields; //登录参数public $targetUrl; //目标地址public $targetFields; //目标参数这里是要说明的几个参数$cookieFile保存的是CURL获取回来的COOKIE的文件存放的位置$loginUrl;模拟登陆时用的链接$loginFields;模拟登录时用到的参数 如账号密码等$targetUrl;模拟提交获取时用到的地址$targetFields;模拟提交时用到的参数用法简介$curlnew curl($cookieFile); //初始化时载入COOKIE保存位置//模拟登录$curl-loginUrlhttp://www.xxx.com; //登录链接$curl-loginFieldsusernamexxxpwdxxx; //登录参数$curl-curlLogin($ref,$header); //$ref 伪造来源地址 $header 伪造头部和IP信息//模拟获取$curl-targetUrlhttp://www.xxx.com; //目标链接$curl-curGet($ref,$header); //$ref 伪造来源地址 $header 伪造头部和IP信息//模拟提交$curl-targetUrlhttp://www.xxx.com; //目标链接$curl-targetFieldsusernamexxxpwdxxx; //提交参数$curl-curlPost($ref,$header); //$ref 伪造来源地址 $header 伪造头部和IP信息Curl.class.php PHP代码如下class curl{public $cookieFile; //cookie存放路径public $loginUrl; //登录链接public $loginFields; //参数public $targetUrl; //目标地址public $targetFields; //目标参数function __construct(){$this-cookieFilecookie.txt;}//模拟登录function curlLogin($ref,$head){if($ref){$refererhttp://www.baidu.com/;}else{$referer$ref;}if($head){$header$this-randIP();}else{$headerarray_merge($head,$this-randIP());}$curl curl_init(); // 启动一个CURL会话curl_setopt($curl, CURLOPT_URL, $this-loginUrl); // 要访问的地址curl_setopt($curl, CURLOPT_HTTPHEADER , $header ) ; // 伪造访问IPcurl_setopt($curl, CURLOPT_REFERER, $referer); // 伪造来路curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER[HTTP_USER_AGENT]); // 模拟用户使用的浏览器curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referercurl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求curl_setopt($curl, CURLOPT_POSTFIELDS, $this-loginFields); // Post提交的数据包curl_setopt($curl, CURLOPT_COOKIEJAR, $this-cookieFile); // 存放Cookie信息的文件名称curl_setopt($curl, CURLOPT_COOKIEFILE, $this-cookieFile); // 读取上面所储存的Cookie信息curl_setopt($curl, CURLOPT_TIMEOUT, 300); // 设置超时限制防止死循环curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回$tmpInfo curl_exec($curl); // 执行操作if (curl_errno($curl)) {echo Errno.curl_error($curl);}curl_close($curl); // 关闭CURL会话return $tmpInfo; // 返回数据}//模拟获取数据function curlGet($ref,$head){if($ref){$refererhttp://www.baidu.com/;}else{$referer$ref;}if($head){$header$this-randIP();}else{$headerarray_merge($head,$this-randIP());}$curl curl_init(); // 启动一个CURL会话curl_setopt($curl, CURLOPT_URL, $this-targetUrl); // 要访问的地址curl_setopt($curl, CURLOPT_HTTPHEADER , $header); // 伪造访问IPcurl_setopt($curl, CURLOPT_REFERER, $referer); // 伪造来路curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER[HTTP_USER_AGENT]); // 模拟用户使用的浏览器curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referercurl_setopt($curl, CURLOPT_HTTPGET, 1); // 发送一个常规的GET请求curl_setopt($curl, CURLOPT_COOKIEFILE, $this-cookieFile); // 读取上面所储存的Cookie信息curl_setopt($curl, CURLOPT_TIMEOUT, 300); // 设置超时限制防止死循环curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回$tmpInfo curl_exec($curl); // 执行操作if (curl_errno($curl)) {echo Errno.curl_error($curl);}curl_close($curl); // 关闭CURL会话return $tmpInfo; // 返回数据}//模拟提交数据function curlPost($ref,$head){if($ref){$refererhttp://www.baidu.com/;}else{$referer$ref;}if($head){$header$this-randIP();}else{$headerarray_merge($head,$this-randIP());}$curl curl_init(); // 启动一个CURL会话curl_setopt($curl, CURLOPT_URL, $this-targetUrl); // 要访问的地址curl_setopt($curl, CURLOPT_HTTPHEADER , $header); // 伪造访问IPcurl_setopt($curl, CURLOPT_REFERER, $referer); // 伪造来路curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER[HTTP_USER_AGENT]); // 模拟用户使用的浏览器curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); // 使用自动跳转curl_setopt($curl, CURLOPT_AUTOREFERER, 1); // 自动设置Referercurl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求curl_setopt($curl, CURLOPT_POSTFIELDS, $this-targetFields); // Post提交的数据包curl_setopt($curl, CURLOPT_COOKIEFILE, $this-cookieFile); // 读取上面所储存的Cookie信息curl_setopt($curl, CURLOPT_TIMEOUT, 300); // 设置超时限制防止死循环curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回$tmpInfo curl_exec($curl); // 执行操作if (curl_errno($curl)) {echo Errno.curl_error($curl);}curl_close($curl); // 关闭CURL会话return $tmpInfo; // 返回数据}//随机生成IPfunction randIP(){$ip_long array(array(607649792, 608174079), //36.56.0.0-36.63.255.255array(1038614528, 1039007743), //61.232.0.0-61.237.255.255array(1783627776, 1784676351), //106.80.0.0-106.95.255.255array(2035023872, 2035154943), //121.76.0.0-121.77.255.255array(2078801920, 2079064063), //123.232.0.0-123.235.255.255array(-1950089216, -1948778497), //139.196.0.0-139.215.255.255array(-1425539072, -1425014785), //171.8.0.0-171.15.255.255array(-1236271104, -1235419137), //182.80.0.0-182.92.255.255array(-770113536, -768606209), //210.25.0.0-210.47.255.255array(-569376768, -564133889), //222.16.0.0-222.95.255.255);$rand_key mt_rand(0, 9);$ip long2ip(mt_rand($ip_long[$rand_key][0], $ip_long[$rand_key][1]));$headers[CLIENT-IP] $ip;$headers[X-FORWARDED-FOR] $ip;$headerArr array();foreach( $headers as $n $v ) {$headerArr[] $n .: . $v;}return $headerArr;}}