Home  >  Article  >  Backend Development  >  PHP method to implement random IP address grabbing content based on curl

PHP method to implement random IP address grabbing content based on curl

高洛峰
高洛峰Original
2016-12-20 15:41:571768browse

The example in this article describes the method of using PHP to capture content from random IP addresses based on curl. Share it with everyone for your reference, the details are as follows:

Using php curl we can imitate user behavior, we can not only set the IP address and browser information we visit, but also set the post method.

curl is a very cool thing! ~ You can actually generate a random IP for access, and even make the server unable to distinguish the real IP. This is awesome! Some people say this is not a bug. However, this function also brings us great convenience.

php implements random IP access based on curl:

<?php
function curl($url,$ifpost = 0, $datafields = &#39;&#39;, $cookiefile = &#39;&#39;, $v = false){
 $ip_long = array(
       array(&#39;607649792&#39;, &#39;608174079&#39;), //36.56.0.0-36.63.255.255
       array(&#39;1038614528&#39;, &#39;1039007743&#39;), //61.232.0.0-61.237.255.255
       array(&#39;1783627776&#39;, &#39;1784676351&#39;), //106.80.0.0-106.95.255.255
       array(&#39;2035023872&#39;, &#39;2035154943&#39;), //121.76.0.0-121.77.255.255
       array(&#39;2078801920&#39;, &#39;2079064063&#39;), //123.232.0.0-123.235.255.255
       array(&#39;-1950089216&#39;, &#39;-1948778497&#39;), //139.196.0.0-139.215.255.255
       array(&#39;-1425539072&#39;, &#39;-1425014785&#39;), //171.8.0.0-171.15.255.255
       array(&#39;-1236271104&#39;, &#39;-1235419137&#39;), //182.80.0.0-182.92.255.255
       array(&#39;-770113536&#39;, &#39;-768606209&#39;), //210.25.0.0-210.47.255.255
       array(&#39;-569376768&#39;, &#39;-564133889&#39;), //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]));
$header = array("Connection: Keep-Alive","Accept: text/html, application/xhtml+xml, */*", "Pragma: no-cache", "Accept-Language: zh-Hans-CN,zh-Hans;q=0.8,en-US;q=0.5,en;q=0.3","User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)",&#39;CLIENT-IP:&#39;.$ip,&#39;X-FORWARDED-FOR:&#39;.$ip);
 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url);
 curl_setopt($ch, CURLOPT_HEADER, $v);
 curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
 $ifpost && curl_setopt($ch, CURLOPT_POST, $ifpost);
 $ifpost && curl_setopt($ch, CURLOPT_POSTFIELDS, $datafields);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
 $cookiefile && curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiefile);
 $cookiefile && curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiefile);
 curl_setopt($ch,CURLOPT_TIMEOUT,30); //允许执行的最长秒数
 $ok = curl_exec($ch);
 curl_close($ch);
 unset($ch);
 return $ok;
}
 print_r(curl("URL"));
?>

I hope this article will be helpful to everyone in PHP programming.

For more relevant articles on PHP’s method of grabbing content from random IP addresses based on curl, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn