zoukankan      html  css  js  c++  java
  • curl使用例子

    地址:http://phpbook.phpxy.com/34771

    参考:http://php.net/manual/zh/function.curl-setopt.php

    我们将curl的步骤分为以下7步:

    1. 初使化curl资源
    2. 参数设置请求的协议地址
    3. 参数设置是否返回请求结果
    4. 设置发送数据(无发送数据可不设置)
    5. 其他的参数信息设置(按实际工作需要决定)
    6. 执行或执行得到返回结果
    7. 关闭curl资源

    一、初使化curl资源

    这只有一句话,就是使用的是curl_init函数。这个参数法面要传入任何参数。返回curl的操作资源。

    因为,我们在后面是通过curl_setopt向curl的操作资源变量压入数据的。

    例:

    $ch = curl_init();

    二、参数设置请求的协议地址

    curl_setopt函数的详细使用如下:

    类型说明
    函数 curl_setopt
    参数1 curl资源变量
    参数2 curl参数选项
    参数3 curl参数值

    CURLOPT_URL 这个参数选项规定了请求的url地址。

    curl_setopt($ch, CURLOPT_URL, "http://www.phpxy.com");

    三、参数设置是否返回请求结果

    我们希望curl请求后返回对应的结果。我们要得到对应的结果,也需要设置一个参数,这个参数名为:CURLOPT_RETURNTRANSFER。

    若需要返回值即为1。不需请求后返回的结果可设置为0。

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    四、设置发送数据

    如果是get请求,我们不需要设置发送的参数。在post等请求的时候,我们需要设置发送方法为post方法。并设置发送的数据。

    *CURLOPT_POST *值设为1是使用POST方法,0为不使用POST方法

    CURLOPT_POSTFIELDS设置传递的数据

    //声明使用POST方式来进行发送
        curl_setopt($ch, CURLOPT_POST, 1);
    
    //发送什么数据呢
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

    五、其他的参数信息设置

    如果是https有的时候我们需要忽略https的安全证书。

    CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST 两个参数改为false即忽略了证书。

    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

    CURLOPT_HEADER这个参数又决定是是否处理http的头信息,我们不想接收处理的话可将这个值设置为0。

    curl_setopt($ch, CURLOPT_HEADER, 0);

    此外,我们还可以设置请求的超时时间,参数为:CURLOPT_TIMEOUT。

    curl_setopt($ch, CURLOPT_TIMEOUT, 10);

    其他参数非常多,我们在之前讲过,如果你想了解更多的内容可以访问:
    地址如下:http://php.net/manual/zh/function.curl-setopt.php

    六、执行或执行得到返回结果

    我们第三步中,将CURLOPT_RETURNTRANSFER 参数中将值设为1。如果执行的结果有数据。使用curl_exec执行后,会将结果返回给$output变量。

    $output = curl_exec($ch);

    七、关闭curl资源

    关闭curl资源。因为资源类型,我们反复强调过,有打开就有关闭。

    如果不需要使用,使用curl_close关闭后立刻释放内存。

    curl_close($ch);
  • 相关阅读:
    Android Fragment(一)
    Android github上的好的开源项目汇总
    Android ScrollView 嵌套ListView的替代方案
    Android cannot be cast to android.app.Fragment
    js css加时间戳
    WPF无边框实现拖动效果
    分析器错误消息: 未能加载类型
    微信红包功能(含示例demo)
    ABP缓存示例
    微信白名单配置与检验
  • 原文地址:https://www.cnblogs.com/wuheng1991/p/5796048.html
Copyright © 2011-2022 走看看