lxg524963880 2024-03-09 14:14 采纳率: 33.3%
浏览 1
已结题

php使用curl调用查询天气的接口报错

请问php使用curl调用查询天气的接口,为什么报错,token是有的,也是正确的


<?php
    $code = 120112;
    $url = 'https://api.ip138.com/weather/?code='.$code;
    
    $header = array('token=9ae2430deebf0f4a93a21af959039dad');
    echo getData($url,$header);   
    
    function getData($url,$header){  
        $ch = curl_init();  
        curl_setopt($ch,CURLOPT_URL,$url);
        curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
        curl_setopt($ch,CURLOPT_HTTPHEADER,$header); 
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);  
        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,3);  
       
        $handles = curl_exec($ch);  
        curl_close($ch);  

        return $handles;  
    }

  • 写回答

4条回答 默认 最新

  • GISer Liu 2024-03-09 14:25
    关注

    该回答引用自GPT-3.5,由博主GISer Liu编写:

    根据提供的代码和描述,有几个可能的问题需要解决:

    1. 错误的请求头设置 : 在代码中,您尝试通过数组传递请求头,但是这不是正确的方法。正确的方式是将请求头作为一个关联数组传递给 CURLOPT_HTTPHEADER 选项。修改代码如下:
      phpCopy code
      $header = array('token: 9ae2430deebf0f4a93a21af959039dad');
      
      注意,这里使用了 token: 而不是 token=,因为请求头的格式应该是 HeaderName: HeaderValue
    2. 未定义的函数getData : 在代码中调用了一个未定义的函数 getData,这可能会导致报错。为了解决这个问题,可以直接在使用 curl_exec() 的地方处理 CURL 请求,而不需要额外定义一个函数。修改代码如下:
      phpCopy code
      $ch = curl_init();
      curl_setopt($ch,CURLOPT_URL,$url);
      curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_1);
      curl_setopt($ch,CURLOPT_HTTPHEADER,$header);
      curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
      curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,3);
      $handles = curl_exec($ch);
      curl_close($ch);
      echo $handles;
      
    3. Token 无效或接口访问受限 : 虽然您提到 token 是正确的,但是仍然有可能由于其他原因导致接口访问受限。建议您确认您的 API Token 是否有效,以及您是否有权访问该接口。您可以尝试使用其他工具或方法来测试 API 的访问权限。
      综上所述,您可以尝试按照以上修改建议来修改您的代码,并且确保您的 API Token
      是有效的,并且您有权访问该接口。如果问题仍然存在,请提供具体的错误信息以便进一步排查。

    如果该回答解决了您的问题,请采纳!如果没有,请参考以下方案进行修订

    用户答题指南

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月17日
  • 已采纳回答 3月9日
  • 创建了问题 3月9日

悬赏问题

  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度
  • ¥15 求micropython modbus-RTU 从机的代码或库?
  • ¥15 django5安装失败