`
jickcai
  • 浏览: 246754 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

CURL POST请求

    博客分类:
  • php
PHP 
阅读更多

 

/**
     * 提交POST请求,curl方法
     * @param string  $url       请求url地址
     * @param array   $data      POST数据
     * @param array   $header    头信息
     * @param int     $timeout   超时时间
     * @return array             请求结果,
     */
    private function _curl_post($url, $data = array(), $header = array(), $timeout = 5)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        $info = curl_exec($ch);
        curl_close($ch);
        return $info;
    }

    /**
     * 提交GET请求,curl方法
     * @param string  $url       请求url地址
     * @param mixed   $data      GET数据,数组或类似id=1&k1=v1
     * @param array   $header    头信息
     * @param int     $timeout   超时时间
     * @return array             请求结果,
     */
    private function _curl_get($url, $data = array(), $header = array(), $timeout = 5)
    {
        $url =  $url.'?'.http_build_query($data);
          $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
        curl_setopt($ch, CURLOPT_POST, 0);
        $info = curl_exec($ch);
        curl_close($ch);
        return $info;
    }

 

 CURL的一个执行示例:

<?php

$item = array();

$item['key'] = 'abc';

$item['id'] = 'aaa';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'http://www.baidu.com/api/user.php');

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $item);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$msg = curl_exec($ch);

curl_close($ch);

?>

 

 

    /**

     * 调用 CURL POST

     */ 

    private function _do_curl_post($url , $data)

    {

$ch = curl_init();

   curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$info = curl_exec($ch);

curl_close($ch);

        $info = json_decode($info,true);

        return $info;

    }

    /**

     * 调用 CURL GET

     */ 

    private function _do_curl_get($url , $data)

    {

        $url =  $url.'?'.http_build_query($data);

   $ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

$info = curl_exec($ch);

curl_close($ch);

        $info = json_decode($info,true);

        return $info;

    }

分享到:
评论

相关推荐

    CURL HTTP POST方式表单递交

    1、使用的是curl库,数据采用http post方式表单递交 2、里面有完整的注释,比较规则的代码结构,适合学习交流 3、是控制台程序 4、我也是用到了curl但网上的资料大部分比较松散,我自己实现后分享给大家,相互学习,...

    Qt工程中加入curl用于发送Post请求Get请求,数据为json格式

    qt工程中引入编译好的curl库,封装了一个类来执行post请求 可以直接拿来改造。 数据格式为json格式

    php curl批量请求url

    它允许程序员模拟浏览器的行为,发送GET、POST等不同类型的HTTP请求,甚至可以处理HTTPS、cookies、HTTP头等复杂情况。本篇文章将深入探讨如何使用PHP的cURL库进行批量URL请求,并关注可能遇到的问题及解决方案。 ...

    PHP使用curl函数发送Post请求的注意事项

    本文将深入探讨如何使用cURL发送POST请求,以及在实际操作中需要注意的关键点。首先,我们来看一个基本的cURL POST请求示例: ```php $url = 'http://example.com/api'; $data = ['key1' =&gt; 'value1', 'key2' =&gt; '...

    PHP中的使用curl发送请求(GET请求和POST请求)

    使用CURL发送请求的基本流程 使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤: 1.初始化连接句柄; 2.设置CURL选项; 3.执行并获取结果; 4.释放VURL连接句柄。 下面的程序片段是使用CURL发送HTTP...

    Qt工程中用curl发送post请求,发送json返回json

    在Qt工程中,使用curl库发送POST请求并处理JSON数据是一项常见的任务,特别是在与Web服务交互时。这里我们将深入探讨如何实现这一功能。 首先,`curl`是一个强大的命令行工具和库,用于传输数据,支持多种协议,...

    linux shell中curl 发送post请求json格式问题的处理方法

    在Linux环境中,使用`curl`命令进行POST请求时,特别是涉及到传递JSON格式的数据,需要注意一些关键点,以确保数据的正确解析和传输。本文将详细讨论如何在Linux shell中使用`curl`发送带JSON格式数据的POST请求,并...

    libcurl 提交post表单数据 上传图片 demo

    对于上传图片,你需要将其作为二进制数据包含在POST请求中。这通常涉及读取文件内容并将其添加到POST字段中。假设你有一个名为`image.jpg`的图片文件,可以这样做: ```cpp // 读取图片文件 FILE *image_file = ...

    Python3模拟curl发送post请求操作示例

    本文实例讲述了Python3模拟curl发送post请求操作。分享给大家供大家参考,具体如下: 后端给的接口样式: curl “http://65.33.44.43:509/pre/update” -H “Content-Type: text/json” -d ‘{“TYPE”:”PRE-...

    curl发送post请求

    `用curl发post请求.txt`可能包含了更多关于如何构造和发送POST请求的实际示例,学习这个文件可以帮助进一步掌握curl的用法。总的来说,理解和熟练使用curl进行POST请求是每个IT专业人员,尤其是开发者和系统管理员的...

    Qt工程中使用curl进行网络请求,最小程序

    它提供了丰富的功能,包括文件传输、POST请求、cookies、代理、SSL加密等。在C++项目中,我们可以使用curl库进行各种网络通信任务。 **Qt框架介绍** Qt是一个跨平台的应用程序开发框架,广泛用于创建GUI应用。它...

    Curl实现Get下载zip文件、post上传zip文件、普通post请求等

    本篇将详细介绍如何利用C++结合Curl库实现GET下载ZIP文件、POST上传ZIP文件以及普通POST请求以获取JSON数据。 首先,我们要理解GET和POST在网络请求中的基本概念。GET是HTTP协议中最常见的方法,用于请求服务器发送...

    c++ 发送https POST请求并获取返回数据(包含appKey与appSecret)

    使用`curl_easy_setopt()`设置POST请求、URL、appKey和appSecret等参数。例如: ```cpp curl_easy_setopt(curl, CURLOPT_URL, "https://api.example.com"); curl_easy_setopt(curl, CURLOPT_POSTFIELDS, ...

    Go-golang版本的curl请求库

    在上述代码中,`curl.NewRequest()`创建了一个请求对象,通过设置`URL`、`Method`、`Header`和`Body`属性,我们可以构建一个完整的POST请求。`req.Send()`方法负责发送请求并获取响应。 在`go-curl-master`这个...

    php利用CURL模拟进行微信接口的GET与POST类

    php CURL函数可以模仿用户进行一些操作,如我们可以模仿用户提交数据也可以模仿用户进行网站访问了,下面我们来介绍利用CURL模拟进行微信接口的GET与POST例子,例子非常的简单就两个大家一起看看.

    CURLget|post请求封装

    调用微信公众平台接口 需要用到CURL(相当于ajax) 访问接口返回数据 页面不刷新 此文件封装了调用curl执行get|post请求 返回相应的数据

    PHP基于curl post实现发送url及相关中文乱码问题解决方法

    在PHP开发过程中,有时我们需要通过cURL库来发送POST请求,特别是在处理远程API交互或数据交换时。然而,当涉及到包含中文字符的数据时,可能会遇到乱码问题。本篇文章将详细解析如何使用PHP的cURL库来正确地发送...

    使用Curl命令查看请求响应时间方法

    本文将详细介绍如何使用Curl命令来查看请求的响应时间,并解释每个时间指标的含义。 首先,我们来看一下命令的结构: ```bash curl -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_...

Global site tag (gtag.js) - Google Analytics