zoukankan      html  css  js  c++  java
  • php curl使用 常用操作

    1. http Get

    简单的只需要 这四行 就

    $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_URL, "http://site" );
    $output = curl_exec($ch);
    curl_close ( $ch ); 
    

    复杂的

    public static function curlGet($url,$cookiefile,$header=null){
            try{
                $ch = curl_init ();
                curl_setopt ( $ch, CURLOPT_URL, $url );
                curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
                //不知道如何看发出去的数据是什么样子的 使用这句话 可通过抓包工具查看到
                // 需要抓包工具配合使用
                curl_setopt($ch,CURLOPT_PROXY,'192.168.2.221:8889');
                if($header){
    //                 curl_setopt ( $ch, CURLOPT_HEADER, 1 );
                    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    //                 curl_setopt ( $ch, CURLOPT_COOKIE,$header['Cookie'] );
    //                 curl_setopt ( $ch, CURLOPT_COOKIESESSION,$header['Cookie'] );
                }
                else{
                    curl_setopt ( $ch, CURLOPT_HEADER, 0 );
                }
        
                if($cookiefile){
                    curl_setopt ( $ch, CURLOPT_COOKIEFILE, $cookiefile ); // 读取cookie
                    curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookiefile ); // 设置Cookie信息保存在指定的文件中
                }
            
            
                $output = curl_exec($ch);
    // 获取curl 信息 $information = curl_getinfo($ch); curl_close ( $ch ); }catch(Exception $e){ print_r($e->getMessage()); } return $output; }

      

    2. http Post

    public static function curlPost($url,$data,$cookiefile=null,$header=null){
            try{
                $ch = curl_init ();
                curl_setopt ( $ch, CURLOPT_URL, $url );
            
                curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
                curl_setopt ( $ch, CURLOPT_POST, 1 );
                curl_setopt($ch,CURLOPT_PROXY,'192.168.2.221:8889');
                if($header){
                    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
                }
                else{
                    curl_setopt ( $ch, CURLOPT_HEADER, 0 );
                }
                if($cookiefile){
              curl_setopt ( $ch, CURLOPT_COOKIEFILE, $cookiefile ); // 读取cookie curl_setopt ( $ch, CURLOPT_COOKIEJAR, $cookiefile ); // 设置Cookie信息保存在指定的文件中 }       //!!!注意data的格式 curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data); //设置响应超时时间 curl_setopt($ch, CURLOPT_TIMEOUT, 120); $output = curl_exec($ch); if($output === false){ if(curl_errno($ch) == CURLE_OPERATION_TIMEDOUT){ //处理逻辑 } } $information = curl_getinfo($ch); curl_close ( $ch ); }catch(Exception $e){ print_r($e->getMessage()); } return $output; }

      

    3. https Get (未完待续)

    4. https Post(未完待续)

    5. curl 使用过程中 发现不足的地方(未完待续)

  • 相关阅读:
    C# 遍历类字段 及 字段值
    u8 采购到货单中的 业务类型 没有表字典,是系统预置 存入表也是文字: 普通采购 固定资产
    win7 X64 OLEDB读取EXCEL提示“未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序”
    关于 C# select 读取 Excel 数据 为空,或成科学计数法解决方案
    如何设置C#程序在Windows 7 Vista下以管理员权限运行
    C# OLE DB 的连接方式下 对 sql 参数的操作 需要改成 ? 号
    NHibernate (一) 五部曲
    做优秀产品经理
    Python Test in Hudson
    [转载]Openstack Essex安装文档资料
  • 原文地址:https://www.cnblogs.com/ISeeYouBlogs/p/7482724.html
Copyright © 2011-2022 走看看