PHP 使用curl进行GET和POST请求的封装

1,GET请求

/**
 *  GET
 */
public  function php_do_Url_GET($url,$params){

    $url = "{$url}?" . http_build_query ( $params );
    $ch = curl_init ();
    curl_setopt ( $ch, CURLOPT_URL, $url );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'GET' );
    curl_setopt ( $ch, CURLOPT_TIMEOUT, 60 );
    curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params );
    $result = curl_exec ( $ch );
    curl_close ( $ch );

    return $result;
}

2,POST请求

/**
* POST
*/
public  function  php_do_url_POST($url,$params,$headers){

    $ch = curl_init ();

    curl_setopt ( $ch, CURLOPT_URL, $url );
    curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );
    curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'POST' );
    curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params );
    curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
    curl_setopt ( $ch, CURLOPT_TIMEOUT, 60 );

    $result = curl_exec ( $ch );
    curl_close ( $ch );

    return $result;
}

3,heaer中Content-Type注意事项

    //application/x-www-form-urlencoded 格式请求转http_build_query

    $postData = http_build_query($params);
    //application/json;charset=utf-8 请求转json_encode
    $jsonparams=json_encode($params);

4,使用实例 post实例

 $url = "http://api.cn.ronghub.com/user/getToken.json";
    $params = array("userId"=>$userId,"name"=>$name,"portraitUri"=>$portraitUri);
    //application/x-www-form-urlencoded 格式请求转http_build_query

    $postData = http_build_query($params);
    //application/json;charset=utf-8 请求转json_encode
//        $jsonparams=json_encode($params);
    $headers=array(

        "Content-Type: application/x-www-form-urlencoded",
        "Timestamp: " . $timestamp,
        "App-Key: " . $appKey,
        "Nonce: " . $nonce,
        "Signature:".$local_signature,
        'Content-Length: ' . strlen($postData)
    );

    $requestObj = new PhpUrlReqest();
    $result = $requestObj->php_do_url_POST($url,$postData,$headers);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,199评论 19 139
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,881评论 1 45
  • Spring Web MVC Spring Web MVC 是包含在 Spring 框架中的 Web 框架,建立于...
    Hsinwong阅读 22,642评论 1 92
  • 一开始遇到这个问题,我代码更改的时候,说好的浏览器自动更新并没有,我刷新页面也不行,只能每次更新都去npm run...
    laiyituan阅读 5,061评论 0 1
  • 秋已默默来,夏何悄悄去?大雁南飞了,一走八万里!留下一片凉气!留下一声叹气! 人生在世,哪有事事如意!想开点,天下...
    久龙_da61阅读 381评论 0 4