zoukankan      html  css  js  c++  java
  • CURL处理POST、GET请求

    Curl是一个库,它允许你通过各种协议和各种不同的服务器进行连接和通讯

    a.php

    <?php
    function curlRequest($url,$data=''){
      $ch=curl_init();
      curl_setopt($ch, CURLOPT_URL, $url);
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//不验证证书
      if(!empty($data)){
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);//如果返回的不是json数组,$data要用http_build_query()处理一下
      }
      $output=curl_exec($ch);
      $errno=curl_errno($ch);
      if($errno!=0) return false;
      curl_close($ch);
      return json_decode($output,true);//将json数据转换为数组,如果不加true参数,会返回一个stdClass对象
    }
    //测试
    $url="http://www.luoqiusa.top/wx/b.php";
    $data=array('name'=>'yolo');
    $res=curlRequest($url,$data);
    print_r($res);

     输出为:

    b.php

    <?php
    if(isset($_POST['name'])){
        $jsonObj='{"name":"yolo","age":23}';
        print_r($jsonObj); //注意这里一定要输出,不能用return,低级错误
     }

    说明:主要是测试post请求,a.php请求b.php,如果b.php收到了post过来的数据,则返回一个json字符串

    知识点:

    1、$jsonObj='{"name":"yolo","age":23}';

    1. echo gettype($jsonObj);    //输出string
    2. $jsonObj=json_decode($jsonObj);
      echo gettype($jsonObj);    //输出object
    3. $jsonObj=json_decode($jsonObj,true);
      echo gettype($jsonObj);    //输出array

    简而言之,json_decode($jsonObj,true)的第二个参数true将json字符串转换为数组

    2、如果b页面返回的不是json数据,那么a页面传入的data要用http_build_query()处理一下

  • 相关阅读:
    阿里云服务器完全卸载监控教程
    培养孩子专注力的10种方法
    多头数据分析
    腾讯分数分析报告-医美
    Omnibus test
    个股与指数的回归分析(自带python ols 参数解读)
    excel多元回归-系数参数解读
    比萨斜塔——统计显著性检验
    how to calculate the best fit to a plane in 3D, and how to find the corresponding statistical parameters
    sns.pairplot
  • 原文地址:https://www.cnblogs.com/yolo-bean/p/7802474.html
Copyright © 2011-2022 走看看