• 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

     

  • 相关阅读:
    转载:常见浏览器兼容性问题与解决方案
    转载:gulp文件
    转载:TypeScript 简介与《TypeScript 中文入门教程》
    android mediacodec 在某些机子上无法编码的问题
    Android Camera setRecordingHint函数 在部分手机上的问题。
    raspberry pi 上使用 MQ-7一氧化碳传感器模块
    raspi # gstreamer
    raspberrypi 摄像头 rtsp服务器
    gst-rtsp-server 转发rtsp流
    编译 gstreamer的相关组件
  • 原文地址:https://www.cnblogs.com/liuwanqiu/p/6915173.html
Copyright © 2020-2023  润新知