一、curl是什么

  PHP支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。
  libcurl目前支持http、https、ftp、gopher、telnet、dict、file和ldap协议。libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证

二、curl命令行执行

  1、Get方法请求curl protocol://address:port/url?args

  例如:curl http://www.baidu.com

  2、Post方法请求curl -d "args" "protocol://address:port/url"

  例如:curl -d "user=root&passwd=12345678" "http://baidu.com"

三、curl模拟浏览器执行

function curlRequest($url, $data = null, $headers=null, $connect_timeout = 1000, $read_timeout = 2000)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    if ($headers) {
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);//设置请求头
    }
    if ($data !== null) {
        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    }

    if (defined('CURLOPT_CONNECTTIMEOUT_MS')) {
        $options[CURLOPT_CONNECTTIMEOUT_MS] = $connect_timeout;
        $options[CURLOPT_TIMEOUT_MS]        = $connect_timeout + $read_timeout;
    } else {
        $options[CURLOPT_CONNECTTIMEOUT] = ceil($connect_timeout / 1000);
        $options[CURLOPT_TIMEOUT]        = ceil(($connect_timeout + $read_timeout) / 1000);
    }

    $content = curl_exec($ch);
    if (false === $content) {
        return false;
    }
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($http_code !== 200) {
        return false;
    }
    return $content;

更多相关文章

  1. IIS7+PHP上传图片成功但却不能访问401.3
  2. Ajax上传插件。handleError未找到
  3. 使用php将文件上传到AWS S3
  4. 无法使用dropzone上传多个文件
  5. 解决Apache2+PHP上传文件大小限制的问题技术集锦
  6. 上传文件时通过AJAX更新列表
  7. PHP上传文件 Error 6解决方法
  8. 使用ASIHTTPRequest从iOS上传图像
  9. 【ecmall】解决无法上传店铺logo和banner照片问题

随机推荐

  1. bootstrap框架下 单选按钮组的选中以及取
  2. Google时间轴图表:在“同一”行上多个时,单
  3. 禁用链接以停止在JQuery中双击
  4. Web开发者必备的20款超赞jQuery插件
  5. 如何将表列转换为数组?
  6. 如何使用jQuery UI插件使html文本框可拖
  7. 键盘功能无法处理数据表搜索
  8. 在ASPX页面中使用webmethod服务AJAX请求
  9. 基于Jquery ui 可复用的酒店 web页面选择
  10. Study JQuery《zTree自动点击第一个节点