php-我用了curl代理,为什么抓取http://www.ip138.com 显示的还是实际ip

问题描述

我用了curl代理,为什么抓取http://www.ip138.com 显示的还是实际ip
我在 http://ip.qiaodm.com/上面找的高匿代理
这是我的代码我curl用了代理ip做抓取,按理说应该显示的是我代理的ip但是还是显示的我的本机IP。 有谁知道为什么

function get_html($url$data=array()$html_char='UTF-8'$is_ssh='http'){

           $ch = curl_init();               curl_setopt($ch CURLOPT_URL $url);             curl_setopt($ch CURLOPT_RETURNTRANSFER1);            curl_setopt($ch CURLOPT_PROXY'111.12.117.67');            curl_setopt($ch CURLOPT_PROXYPORT'83');            curl_setopt ($ch CURLOPT_HTTPHEADER array('CLIENT-IP:113.207.63.26' 'X-FORWARDED-FOR:113.207.63.26'));           curl_setopt ($ch CURLOPT_TIMEOUT 6000);               curl_setopt ($ch CURLOPT_USERAGENT 'Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/2008052906 Firefox/3.0');           if($is_ssh=='SSL'){           curl_setopt($ch CURLOPT_SSL_VERIFYPEER false);            curl_setopt($ch CURLOPT_SSL_VERIFYHOST false);            }           curl_setopt($ch CURLOPT_FOLLOWLOCATION1);             if(!empty($data)){                       curl_setopt($ch CURLOPT_POST true);                           curl_setopt($ch CURLOPT_POSTFIELDS $data);                         }           $output = curl_exec($ch);            if($html_char!='UTF-8'){                $output=mb_convert_encoding($outputUTF-8"" $html_char);             }                          $info = curl_getinfo($ch);           curl_close($ch);        $returntemp = array('output'=>$output'info'=>$info);        return $returntemp['output'];       }

$url='http://www.ip138.com/';
$date=get_html($url);

echo $date;

解决方案

代理服务器如果设置了x-forward-for,并且报告你的原始ip,那么网站可以得到你的原始ip,被称为透明代理。不报告的叫做匿名代理

时间: 2024-12-28 19:16:06

php-我用了curl代理,为什么抓取http://www.ip138.com 显示的还是实际ip的相关文章

ajax-php采集高手进:利用curl模拟登录抓取数据遇到json调用问题不成功,求助!

问题描述 php采集高手进:利用curl模拟登录抓取数据遇到json调用问题不成功,求助! 我在抓取一个页面的信息(假设a.php),这个页面只是一些基本的html框架,其他关键信息是通过ajax请求(b.php)回来的,返回的是json,然后在通过页面js将json解析,绘制到页面上.问题的关键是ajax请求的信息里有个手机号码需要登录后才显示完整,原网站利用ajax请求b.php获得json数据,如果直接访问b.php也是可以直接得到:{"name":"zhangsan&

bitmap-Android里通过C去抓取网络摄像机的Bitmap显示

问题描述 Android里通过C去抓取网络摄像机的Bitmap显示 Android里通过C去抓取网络摄像机的图像,1秒钟返回10帧, 也就是10个Bitmap(分辨率:720*480); Android应用层,用ImageView去setImageBitmap显示,画面会花屏.失真: 用surfaceview去draw的话,也是这样: 我想问:应该怎样去处理这些bitmap才不会让图像失真呢?在此先谢谢各位了. 解决方案 我有碰到过图像失真问题,首先你的弄清楚图片的格式,抓取的如果就是 jpeg

PHP使用CURL实现多线程抓取网页

  PHP 利用 Curl Functions 可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,受限于php语言本身不支持多线程,所以开发爬虫程序效率并不高,这时候往往需 要借助Curl Multi Functions 它可以实现并发多线程的访问多个url地址.既然 Curl Multi Function如此强大,能否用 Curl Multi Functions 来写并发多线程下载文件呢,当然可以,下面给出我的代码: 代码1:将获得的代码直接写入某个文件 ? 1 2 3 4

PHP使用CURL实现多线程抓取网页_php技巧

PHP 利用 Curl Functions 可以完成各种传送文件操作,比如模拟浏览器发送GET,POST请求等等,受限于php语言本身不支持多线程,所以开发爬虫程序效率并不高,这时候往往需 要借助Curl Multi Functions 它可以实现并发多线程的访问多个url地址.既然 Curl Multi Function如此强大,能否用 Curl Multi Functions 来写并发多线程下载文件呢,当然可以,下面给出我的代码: 代码1:将获得的代码直接写入某个文件 <?php $urls

php使用curl和正则表达式抓取网页数据示例_php实例

利用curl和正则表达式做的一个针对磨铁中文网非vip章节的小说抓取器,支持输入小说ID下载小说. 依赖项:curl 可以简单的看下,里面用到了curl ,正则表达式,ajax等技术,适合新手看看.在本地测试,必须保证联网并且确保php开启curl的mode SpiderTools.class.php 复制代码 代码如下: <?php   session_start();  //封装成类 开启这些自动抓取文章   #header("Refresh:30;http://www.test.co

php curl实现多线程抓取网页并同时下载图片

php语言本身不支持多线程,所以开发爬虫程序效率并不高,借助Curl Multi 它可以实现并发多线程的访问多个url地址.用 Curl Multi 多线程下载文件代码: 代码1:将获得的代码直接写入某个文件 <?php $urls =array(   'http://www.111cn.net/',   'http://www.baidu.com/',  );// 设置要抓取的页面URL       $save_to='test.txt';  // 把抓取的代码写入该文件      $st =

PHP定时任务通过CURL图片的抓取例子

基本思路就是通过一个URL连接,将所有图片的地址抓取下来,然后循环打开图片,利用文件操作函数下载下来,保存到本地,并且 把图片的alt属性也抓取下来,最后将数据保存到自己数据库. 废话不多说,看程序就能明白了,其中,需要用到PHP定时任务和PHP的一个第三方插件simple_html_dom.php,的使用,参考simple_html_dom的下载和使用 代码: <?php   function getLink($url){     include_once('simple_html_dom.p

使用PHP curl模拟浏览器抓取网站信息_php技巧

官方解释curl是一个利用URL语法在命令行方式下工作的文件传输工具.curl是一个利用URL语法在命令行方式下工作的文件传输工具.它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP.curl同样支持HTTPS认证,HTTP POST方法, HTTP PUT方法, FTP上传, kerberos认证, HTTP上传, 代理服务器, cookies, 用户名/密码认证, 下载文件断点续传,上载文件断点续传, http

PHP中使用CURL伪造来路抓取页面或文件_php技巧

复制代码 代码如下: // 初始化 $curl = curl_init(); // 要访问的网址 curl_setopt($curl, CURLOPT_URL, 'http://asen.me/'); // 设置来路 curl_setopt($curl, CURLOPT_REFERER, 'http://google.com/'); // 不直接输入内容 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 降结果保存在$result中 $resul