首页 >PHP讨论组 >php通过http url 向远程传数据,怎么实现。谢谢。

php通过http url 向远程传数据,怎么实现。谢谢。php通过http url 向远程传数据,怎么实现。谢谢。

现在有个项目是甲方给了一个http接口如下

1、提供接口 http 访问 url,统一字符编码:UTF-8 。

2、http 接口请求 content-Type="application/json" 。

3、接口通过 http post 请求接口 url 并发送符合 JSON 规范的 body。

访问钥匙也给了,用PHP怎么实现啊。谢谢。

请求样例:

{

    "secretKey": "**********",

    "stationNo": "123456789",

    "msgId": "1111",

    "data": {

        "heatMeter": [

            {

                "installAddr": "1#热量表",

                "readTime": "2017-09-25 12:00:01",

                "accHeat": 11.12,

                "accCold": 11.13,

                "power": 11.14,

                "flow": 11.15,

                "accFlow": 11.16,

                "inTemp": 11.17,

                "outTemp": 21.18,

                "tempDiff": 10.01,

                "workTime": 12,

                "workStatus": 0,

                "heatUnit": "GJ",

                "coldUnit": "GJ",

                "powerUnit": "GJ/h",

                "flowUnit": "m³",                                          //注意单位的‘3’为上标

                "realFlowUnit": "m³/h"

            }

        ],


返回样例:

{

"msg": “上传成功”                   //此处为汉字详细的问题描述

"msgId":”1111”

         "status": 0,

}


 
3
 
+1
-1
 
分享
全部回复 (3)我来回答
    NULL
    3楼
    NULL · 5天前

    //参数一为提交的地址,参数二为提交方式,参数三为提交数据
    function doRequest($url,$method,$data=null){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)');
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
        if(!empty($data)){
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        }
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    
        $tmpInfo = curl_exec($ch);
        if (curl_errno($ch)) {
            return curl_error($ch);
        }
    
        curl_close($ch);
        return $tmpInfo;
    }


      赞+1添加回复

    辉
    2楼
    · 1星期前

    也可用ajax请求

      赞+0添加回复

    Bamboo
    1楼
    Bamboo · 1星期前

    用curl

      赞+0添加回复

    首页上一页1下一页尾页