php curl用法,php_curl

  php curl用法,php_curl

  使用CURL的PHP扩展发送HTTP请求通常有以下步骤:

  初始化连接句柄;

  设置卷曲选项;

  执行并获得结果;

  松开VURL连接手柄。

  下面的程序片段是使用CURL发送HTTP的典型过程。

  ?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

  //1.初始化

  $ ch=curl _ init();

  //2.设置选项,包括URL

  curl_setopt($ch,CURLOPT_URL, http://www . devdo . net );

  curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

  curl_setopt($ch,CURLOPT_HEADER,0);

  //3.执行并获取HTML文档内容

  $ output=curl _ exec($ ch);

  if($output===FALSE ){

  回声“卷曲错误:”。curl _ error($ ch);

  }

  //4.松开卷曲手柄

  curl _ close($ ch);

  ?在上面的代码中,分别使用了CURL_init()和CURL_close()四个函数来初始化CURL连接和关闭CURL连接,比较简单。

  CURL_exec()执行CURL请求。如果没有错误,这个函数返回的是对应URL返回的数据,满意度用字符串表示;如果出现错误,该函数将返回FALSE。需要注意的是,输出是否为假是用完全等号来判断的,完全等号用来区分返回空字符串的情况和出错的情况。

  CURL库中最重要的函数是CURL_setopt(),它可以通过设置CURL库定义的选项来自定义HTTP请求。上面的代码片段中使用了三个重要选项:

  CURLOPT_URL指定请求的URL;

  CurlOPT_RETURNTRANSFER设置为1表示后面执行的curl_exec函数的返回是URL的返回字符串,而不是将返回字符串定向到标准输出并返回TRUE;

  将CURLLOPT_HEADER设置为0意味着不返回HTTP头信息。

  卷曲有很多选择。你可以在PHP官方网站(http://www . PHP . net/manual/en/function . CURL-setopt . PHP)查看CURL支持的所有选项列表。

  获取CURL请求的输出信息。

  在执行CURL_exec()函数后,可以使用curl_getinfo()函数获取CURL请求输出的相关信息。示例代码如下:

  ?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

  curl _ exec($ ch);

  $ info=curl _ getinfo($ sh);

  Echo getting 。$info[url]。费时。$info[total_time]。秒;

  ?上面代码中curl_getinfo返回的是一个包含以下数据的关联数组:

  Url:网络地址。

  内容类型:内容代码。

  Http_code:HTTP状态代码。

  Header _ size:标题的大小。

  请求大小:请求的大小。

  Filetime:文件创建的时间。

  Ssl_verify_result:SSL验证结果。

  Redirect_count:跳转计数。

  Total_time:总时间消耗。

  Namelookup_time:DNS查询需要时间。

  Connect_time:等待连接需要时间。

  Pretransfer_time:传输前的准备需要时间。

  Size_uplpad:上传数据的大小。

  Size_download:下载数据的大小。

  速度_下载:下载速度。

  速度_上传:上传速度。

  Download_content_length:下载内容的长度。

  上传内容长度:上传内容的长度。

  Starttransfer_time:开始传输的时间表。

  Redirect_time:重定向需要时间。

  curl_getinfo()函数还有一个CURLINFO_TOTAL_TIME的可选参数opt,所以curl_getinfo()函数只返回TOTAL_TIME,即总的传输时间。当只有一些传输信息需要注意时,设置$opt参数是有意义的。

  使用CURL发送GET请求

  如何使用CURL发送GET请求,发送GET请求的关键是组装正确格式的URL。请求地址和获取数据由“?”组成拆分,然后GET变量的名称和值用“=”分隔,每个GET名称和值用“.”连接。PHP为我们提供了一个函数来组装GET请求和数据部分——http_build_query。这个函数接受一个关联数组,并返回由关联数据描述的GET请求字符串。利用这个函数,结合CURL发送HTTP请求的一般流程,我们关闭了一个发送GET请求的函数——doCurlGetRequest。具体代码如下:

  ?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

  **

  *@desc关闭curl的调用接口,以及get的请求方式。

  */

  函数doCurlGetRequest($url,$data,$timeout=5){

  if($curl== $timeout=0){

  返回false

  }

  $url=$url。?。http _ bulid _ query($ data);

  $ con=curl _ init((string)$ URL);

  curl_setopt($con,CURLOPT_HEADER,false);

  curl_setopt($con,CURLOPT_RETURNTRANSFER,true);

  curl_setopt($con,CURLOPT_TIMEOUT,(int)$ time out);

  return curl _ exec($ con);

  }

  ?这个函数使用HTTP_build_query将用GET参数组装的URL传递给CURL_init函数,然后使用CURL发送HTTP请求。

  使用CURL发送POST请求

  您可以使用CURL提供的选项CURL opt _ POST fields,并将该选项设置为POST字符串数据以将请求放入主体中。同样,我们实现了一个函数——doCurlPostRequest来发送POST请求,代码如下:

  ?服务器端编程语言(Professional Hypertext Preprocessor的缩写)

  /**

  ** @desc封装了curl的调用接口,以及post的请求方式。

  **/

  函数doCurlPostRequest($url,$requestString,$timeout=5){

  if($ URL== $ request string== $ time out=0){

  返回false

  }

  $ con=curl _ init((string)$ URL);

  curl_setopt($con,CURLOPT_HEADER,false);

  curl_setopt($con,CURLOPT_POSTFIELDS,$ request string);

  curl_setopt($con,CURLOPT_POST,true);

  curl_setopt($con,CURLOPT_RETURNTRANSFER,true);

  curl_setopt($con,CURLOPT_TIMEOUT,(int)$ time out);

  return curl _ exec($ con);

  }

  ?在上面的代码中,除了设置CURLOPT_POSTFIELDS,我们还将CURL_POST设置为true,这表明这个请求是POST请求。GET数据也可以在POST请求中传输,只需在URL中组装GET请求数据。

  版权归作者所有:原创作品来自博主小二上九8,转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括
  • 七种php开发环境搭建工具有哪些,七种php开发环境搭建工具包括,七种PHP开发环境搭建工具
  • php高并发三种解决方法,php 高并发解决方案
  • php高并发三种解决方法,php 高并发解决方案,PHP解决高并发问题(opcache)
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么
  • php邮件发送的两种方式区别,php邮件发送的两种方式是什么,php邮件发送的两种方式
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频
  • php跳转页面的几种实现方法详解图,php跳转页面的几种实现方法详解视频,PHP跳转页面的几种实现方法详解
  • PHP购物车,php立即购买和购物车功能
  • PHP购物车,php立即购买和购物车功能,php实现购物车功能(上)
  • php读取pdf数据,php pdf读取
  • php读取pdf数据,php pdf读取,PHP中使用mpdf 导出PDF文件的实现方法
  • php网站判断用户是否是手机访问的方法有哪些,php如何判断用户是否登录
  • 留言与评论(共有 条评论)
       
    验证码: