zoukankan      html  css  js  c++  java
  • php CURL

    PHP的curl功能是从别人网站上获取内容的..

    开发中常见的传输功能如下:
    1.实现远程获取和采集内容
    2.实现PHP网页版的FTP上传和下载
    3.实现模拟登陆
    4.实现接口对接,数据传输,如微信公众平台的开放接口访问
    5.实现模拟cookie登陆

    curl功能的用法:

    //  1.初始化--创建一个新的URL资源赋给变量$ch
    $ch = curl_init();  
     //  2.设置获取的内容,但是不输出
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
    //  3.执行,并将获取的内容赋给变量$output
    $output = curl_exec($ch);  
     //  4.释放资源
    curl_close($ch); 

    小实例:

    //百度的网页内容抓取:
    $curl = curl_init("http://www.baidu.com");
    curl_exec($curl);
    curl_close($curl);
    -----------------------------------------------------------------------------
    //百度网页内容抓取并替换
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, "http://www.baidu.com");
    //执行后不直接打印出来
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($curl);
    curl_close($curl);
    echo str_replace("百度", "屌丝", $output)

    通过curl获取页面信息:
    在curl_exec()函数执行完成后使用curl_getinfo()函数获取请求的有关信息
    curl_getinfo()函数的第一个参数是初始换时返回的变量

    返回的数组中包括了以下信息:
    “url”                     //资源网络地址
    “content_type”            //内容编码
    “http_code”               //HTTP状态码
    “header_size”             //header的大小
    “request_size”            //请求的大小
    “filetime”                //文件创建时间
    “ssl_verify_result”       //SSL验证结果
    “redirect_count”          //跳转技术
    “total_time”              //总耗时
    “namelookup_time”          //DNS查询耗时
    “connect_time”             //等待连接耗时
    “pretransfer_time”         //传输前准备耗时
    “size_upload”              //上传数据的大小
    “size_download”            //下载数据的大小
    “speed_download”            //下载速度
    “speed_upload”               //上传速度
    “download_content_length”   //下载内容的长度
    “upload_content_length”     //上传内容的长度
    “starttransfer_time”        //开始传输的时间
    “redirect_time”             //重定向耗时
    

     curl使用post方法发送数据:(封装一个函数)

    function request_post($url,$data){
    	$ch = curl_init();   //启动curl会话
    
    	curl_setopt($ch,CURLOPT_URL,$url);  //要访问的地址
    	curl_setopt($ch,CURLOPT_POST,1);    //发送常规的post请求
    	curl_setopt($ch,CURLOPT_POSTFIELDS,$data);  //post提交的数据包
    
    	$tmpInfo = curl_exec($ch);   //执行操作
    	if(curl_errno($ch)){
    		echo 'error' . curl_error($ch);  //判断是否有错
    	}
    
    	curl_close($ch);   //关闭curl会话
    	return $tmpinfo;   //返回数据
    }
    
    //声明关联数组,以post方式提交给服务器
    $data = array('username'=>'xiaoming','age'=>30);
    //提交给服务器后,将返回的数据输出
    echo request_post('http://www.ydma.cn/curl/server.php',$data)
    

      curl常用操作:

         http://www.cnblogs.com/liuwanqiu/p/6916013.html

     

  • 相关阅读:
    IOS开发之----协议与委托(Protocol and Delegate) 实例解析
    iOS开发-Protocol协议及委托代理(Delegate)传值
    android内置存储器memory和第三方外部存储disk管理
    余弦信号DFT频谱分析(继续)
    3.1存储管理操作系统
    android变化HOLO对话风格
    Coco2d-x android win7 Python 游戏开发环境的搭建
    ITIL该研究的结论(互联网思维的结合)
    亚马逊记AWS(Amazon Web Services)自由EC2应用
    oracle触发农产品证明文件号码
  • 原文地址:https://www.cnblogs.com/liuwanqiu/p/6915173.html
Copyright © 2011-2022 走看看