代理服务器-关于curl函数使用问题

问题描述

关于curl函数使用问题

上次这个问题没人帮我解决,,,我又重新修改了一下代码。。。。。

然而还是不行

上次的问题地址

大神帮我看看哪里有问题

 <?php

function curl($url,$cookie,$httpheader,$referer="http://icecms.cn",$follow=1,$header=1){
        //$ch = curl_init("http://tool.yswl.pw/ua");
        $ch = curl_init($url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
        curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36');
        curl_setopt($ch, CURLOPT_REFERER, $referer);       //伪装REFERER
        curl_setopt($ch, CURLOPT_HEADER, $header);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader);
        curl_setopt($ch, CURLOPT_ENCODING, 'gzip,deflate,sdch');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION,$follow);//跟随重定向
        curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
        curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
        /*curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); //代理认证模式
        curl_setopt($ch, CURLOPT_PROXY, "203.195.162.96"); //代理服务器地址
        curl_setopt($ch, CURLOPT_PROXYPORT, 80); //代理服务器端口
        curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP); //使用http代理模式*/
        $result=curl_exec($ch);
        curl_close($ch);
        return $result;
    }

    $httpheader = array(
        'CLIENT-IP:113.105.123.123',
        'X-FORWARDED-FOR:113.105.123.123',
        'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    ); 

    $cookie_file = dirname(__FILE__)."/cookie.txt";
    //首次访问
    $url="http://icsr.cn/a.asp?icecms";
    $contents1=curl($url,$cookie_file,$httpheader);
    //带上首次访问得到的cookie访问跳转的链接
    preg_match('/href="(.*)"/isU',$body,$inarr1);
    echo $tourl="http://icsr.cn".$inarr1[1];
    $contents2=curl($tourl,$cookie_file,$httpheader);
    //获取重定向 的地址
    //preg_match_all( "/Location:(.*?)rn/" , implode( "rn" , $contents2 ),  $cookies );
    //echo $url2=$cookies[1];
//  $contents3=curl($url2,$cookie_file,$httpheader);

    $fp = @fopen("Log.html", "w"); //记录捕获到的页面源码
    fwrite($fp,$contents1);
    fclose($fp);

    $fp = @fopen("Log1.html", "w"); //记录捕获到的页面源码
    fwrite($fp,$contents2);
    fclose($fp);

//  $fp = @fopen("Log2.html", "w"); //记录捕获到的页面源码
//  fwrite($fp,$contents3);
//  fclose($fp);
?>

就是打算用监控宝监控这个程序,模拟着一天24小时不停地有人访问这个上面那个网址。。。

解决方案

Curl使用问题
php 使用curl 中文乱码问题
使用php curl出现的一点问题

解决方案二:

http://www.jb51.net/article/34745.htm

解决方案三:

http://www.jb51.net/article/34745.htm

解决方案四:

不是我想要的答案。。。。。。

时间: 2024-10-28 03:04:07

代理服务器-关于curl函数使用问题的相关文章

cURL函数库错误码说明之PHP curl_errno函数

背景概述: 游戏接口是使用PHP cURL扩展进行请求操作.但是,被请求的服务器经常会无故的不响应或者超时.总之,就是请求之后收不到响应回来的数据.这时候可不能说对方API接口有问题,或者,服务器有故障.总之,可能出现的问题是非常之多.不能一概而论. 一.给出一段常用的PHP cURL代码:  代码如下 复制代码 function sendRequestGame($url) {     $header = array('Expect:');     $ch = curl_init();    

PHP采集相关教程之一 CURL函数库_php技巧

先写一个简单的抓取页面函数 复制代码 代码如下: <?php function GetSources($Url,$User_Agent='',$Referer_Url='') //抓取某个指定的页面 { //$Url 需要抓取的页面地址 //$User_Agent 需要返回的user_agent信息 如"baiduspider"或"googlebot" $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $Url

关于php 接口问题(php接口主要也就是运用curl,curl函数)

本篇文章是对php中的接口问题(php接口主要也就是运用curl,curl函数)进行了详细的分析介绍,需要的朋友参考下   接口问题php调用接口最主要的就是使用curl抓取信息 复制代码 代码如下: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); //url地址 curl_setopt($ch, CURLOPT_POST, true); //是否post请求 curl_setopt($ch, CURLOPT_POSTFIELDS,

奉献出一个封装的curl函数 便于调用(抓数据专用)

这个函数就是封装了curl函数的常用步骤,方便大家抓数据,小偷程序也是用类似的代码,需要的朋友可以参考下   奉献出一个封装的curl函数,便于调用 复制代码 代码如下: function curl($url, $ifpost = 0, $datafields = '', $cookiefile = '', $v = false) { $header = array("Connection: Keep-Alive","Accept: text/html, applicatio

在PHP中开启CURL扩展,使其支持curl()函数

  在用PHP开发CMS的时候,要用到PHP的curl函数,默认状态下,这个函数需要开启CURL扩展,有主机使用权的,可通过PHP.ini文件开启本扩展,方法如下: 1.打开php.ini,定位到;extension=php_curl.dll,将其前面的;去掉. 2.将PHP目录下ext目录中的:php_curl.dll.libeay32.dll和ssleay32.dll三个文件复制到系统system32目录下,重启IIS或apache. 3.为了确保是否已开启CURL扩展,可通过下述代码进行测

深入file_get_contents与curl函数的详解_php技巧

有些主机服务商把php的allow_url_fopen选项是关闭了,就是没法直接使用file_get_contents来获取远程web页面的内容.那就是可以使用另外一个函数curl.下面是file_get_contents和curl两个函数同样功能的不同写法file_get_contents函数的使用示例: 复制代码 代码如下: < ?php$file_contents = file_get_contents('http://www.jb51.net');echo $file_contents;

php file_get_contents与curl()函数对比

下面是curl扩展开启的步骤: 1.将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay32.dll复制到system32下; 2.将php.ini(c:WINDOWS目录下)中的;extension=php_curl.dll中的分号去掉; 3.重启apache或者IIS. 我们先来看看两个函数的简单实例 curl()函数  代码如下 复制代码 $ch = curl_init("http://www.111cn.net/"); curl_exec(

php curl函数模拟浏览器抓取网站信息

curl 是使用URL语法的传送文件工具,支持FTP.FTPS.HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP.curl 支持SSL证书.HTTP POST.HTTP PUT .FTP 上传,kerberos.基于HTT格式的上传.代理.cookie.用户+口令证明.文件传送恢复.http代理通道和大量其他有用的技巧. 原来php默认并不进行此项功能的扩展,但还是有的,只是没有让它生效罢了.打开PHP安装目录,搜索以下三个文件 ssleay32.dl

PHP使用curl函数发送Post请求的注意事项_php技巧

前言 前几天在工作中遇到了一个需求,当用户点击了某个按钮以后,后台发起一个post请求到我这里,我接受传递过来的数据.一开始同事是用公司框架公共封装的http_request()方法进行发送的,代码如下: public function http_request( $url, $post = '', $timeout = 5 ){ if( empty( $url ) ){ return ; } $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $u