php基于curl实现随机ip地址抓取内容的方法


Posted in PHP onOctober 11, 2016

本文实例讲述了php基于curl实现随机ip地址抓取内容的方法。分享给大家供大家参考,具体如下:

使用php curl 我们可以模仿用户行为,既可以设置我们访问的ip及浏览器信息还可以设置post方式。

curl是一个特别牛逼的东西!~ 居然还可以生成随机的ip来访问,甚至可以让服务器分辨不出真实ip。这个很牛!有人说这个是不算bug的bug。不过有这个功能也给我们带来了很大的方便。

php基于curl实现随机ip访问:

<?php
function curl($url,$ifpost = 0, $datafields = '', $cookiefile = '', $v = false){
 $ip_long = array(
       array('607649792', '608174079'), //36.56.0.0-36.63.255.255
       array('1038614528', '1039007743'), //61.232.0.0-61.237.255.255
       array('1783627776', '1784676351'), //106.80.0.0-106.95.255.255
       array('2035023872', '2035154943'), //121.76.0.0-121.77.255.255
       array('2078801920', '2079064063'), //123.232.0.0-123.235.255.255
       array('-1950089216', '-1948778497'), //139.196.0.0-139.215.255.255
       array('-1425539072', '-1425014785'), //171.8.0.0-171.15.255.255
       array('-1236271104', '-1235419137'), //182.80.0.0-182.92.255.255
       array('-770113536', '-768606209'), //210.25.0.0-210.47.255.255
       array('-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]));
$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)",'CLIENT-IP:'.$ip,'X-FORWARDED-FOR:'.$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"));
?>

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP中文URL编解码(urlencode()rawurlencode()
Jul 03 PHP
关于PHP堆栈与列队的学习
Jun 21 PHP
phpExcel中文帮助手册之常用功能指南
Aug 18 PHP
PHP利用header跳转失效的解决方法
Oct 24 PHP
3款值得推荐的微信开发开源框架
Oct 28 PHP
Yii框架关联查询with用法分析
Dec 02 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
Apr 27 PHP
php安装ssh2扩展的方法【Linux平台】
Jul 20 PHP
php中引用&amp;的用法分析【变量引用,函数引用,对象引用】
Dec 12 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 PHP
Laravel框架数据库迁移操作实例详解
Apr 06 PHP
php 获取文件行数的方法总结
Oct 11 #PHP
PHP中文字符串截断无乱码解决方法
Oct 10 #PHP
PHP获取用户客户端真实IP的解决方案
Oct 10 #PHP
php表单加入Token防止重复提交的方法分析
Oct 10 #PHP
Laravel5中防止XSS跨站攻击的方法
Oct 10 #PHP
php中让人头疼的浮点数运算分析
Oct 10 #PHP
Laravel实现自定义错误输出内容的方法
Oct 10 #PHP
You might like
一个简易需要注册的留言版程序
2006/10/09 PHP
PHP开发中常用的三个表单验证函数使用小结
2010/03/03 PHP
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
JavaScript 字符串处理函数使用小结
2010/12/02 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
基于jquery封装的一个js分页
2011/11/15 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
通过js动态操作table(新增,删除相关列信息)
2012/05/23 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
使用GruntJS构建Web程序之合并压缩篇
2014/06/06 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
详解javascript中的事件处理
2015/11/06 Javascript
js实现图片无缝滚动特效
2020/03/19 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
微信小程序实现添加手机联系人功能示例
2017/11/30 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
[50:54]完美世界DOTA2联赛 GXR vs IO 第三场 11.07
2020/11/10 DOTA
python从sqlite读取并显示数据的方法
2015/05/08 Python
对python多线程与global变量详解
2018/11/09 Python
python 二维数组90度旋转的方法
2019/01/28 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
Python dict和defaultdict使用实例解析
2020/03/12 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
Python代码注释规范代码实例解析
2020/08/14 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
Monnier Frères美国官网:法国知名奢侈品网站
2016/11/22 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
外企求职信范文分享
2013/12/31 职场文书
我与祖国共奋进演讲稿
2014/09/13 职场文书
新生儿未入户证明
2015/06/23 职场文书
新闻报道稿范文
2015/07/23 职场文书
Python实现照片卡通化
2021/12/06 Python