<?php header("Content-type:text/html charset=utf-8"); $data = myCurl('http://ip.ws.126.net/ipquery', '117.58.201.43'); // 伪造 IP 并获取数据 preg_match('/lo="(.*)", lc="(.*)";/', $data, $arr); print_r($arr); /** * Curl 伪造 IP 并从指定网址获取数据 * @param $url 接口地址 * @param $ip 伪造的 IP * @return 抓取到的内容 */ function myCurl($url, $ip){ $ch = curl_init(); // Curl 初始化 $timeout = 30; // 超时时间:30s $ua='Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'; // 伪造抓取 UA curl_setopt($ch, CURLOPT_URL, $url); // 设置 Curl 目标 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Curl 请求有返回的值 curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); // 设置抓取超时时间 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // 跟踪重定向 curl_setopt($ch, CURLOPT_ENCODING, ""); // 设置编码 curl_setopt($ch, CURLOPT_REFERER, $url); // 伪造来源网址 curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:'.$ip, 'CLIENT-IP:'.$ip)); //伪造IP curl_setopt($ch, CURLOPT_USERAGENT, $ua); // 伪造ua curl_setopt($ch, CURLOPT_ENCODING, 'gzip'); // 取消gzip压缩 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); $content = curl_exec($ch); curl_close($ch); // 结束 Curl return $content; // 函数返回内容 } ?>