当前位置: 首页 > 知识库问答 >
问题:

curl在php中没有给出json响应

花和宜
2023-03-14

我试图通过curl与新闻提供网站进行api集成。我能够检索数据,但它不是json格式,所以很难在我的门户网站上显示该数据。

下面是我使用的代码。

请找个人帮忙

curl.php

<?php

function file_get_contents_curl() 
 {
    $url='https://newsapi.org/v2/top-headlines?'.
      'country=us&'.
      'apiKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
    $content = false;
    $headers = array('Content-Type:application/json');


    if (function_exists('curl_init')) {
        $curl = curl_init();

        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

        curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 5);

        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true);

        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
        curl_setopt($curl, CURLOPT_MAXREDIRS, 5);
        $content = curl_exec($curl);
        curl_close($curl);
    }

    return $content;
}

$result=file_get_contents_curl();

echo $result;

?>

下面是我得到的结果,如果我回显从上述代码收到的响应

{“状态”:“好的”,“总计结果”: 36,“文章”:[{“来源”:{“id”: null,“名称”:“Tmz.com”},“作者”:“TMZ工作人员”,“标题”:“90天未婚夫”柯尔特·约翰逊在战斗和逮捕后申请与拉里莎离婚——TMZ”,“描述”:“柯尔特在90天未婚夫夫妇离奇的争吵和她被捕后,已经向拉里莎提出离婚。”,“网址”:“https://www.tmz.com/2019/01/12/90-day-fiance-colt-johnson-files-divorce-larissa-dos-santos-lima-bloody-fight-arrest/”,“网址图像”:“https://images.tmz.com/2019/01/12/0112-larissa-johnson-colt-johnson-instagram-01-1200x630.jpg”,“发布日期”:“2019-01-12T20:55:00Z”,“内容”: null},{“来源”:{“id”: null,“姓名”:“Kstp.com”},“作者”:“美联社”,“标题”:“祖父:威斯康星女孩与可疑绑架者——KSTP没有联系”,“描述”:“威斯康星西北部女孩的祖父,当局称她是周六,在导致父母死亡的入室盗窃中被绑架的她说,家人与嫌疑人没有联系,也不明白他为什么以她为目标,这加深了一个谜...”,“网址”:“https://kstp.com/news/granddad-wisconsin-girl-has-no-link-to-suspected-kidnapper-/5207911/”,“网址图像”:“https://kstp.com/kstpImages/repository/2019-01/800JakeThomasPattersonSuspectNewser2.jpeg”,“Publishedat”:“2019-01-12T20:53:05Z”,“内容”:“杰米周四在与世隔绝的北部小镇戈登附近走近一名陌生人,恳求帮助,已经失踪近三个月了。几分钟后,警察根据杰米对...[4624个字符]的描述逮捕了21岁的杰克·托马斯·帕特森,{“来源”:{“id”: null,“名称”:“Vox.com”},“作者”:“阿曼达·萨库马”,“标题”:“梅根·凯利最终与全国广播公司分手-Vox.com,“描述”:“据报道,脱口秀主持人想成为下一个奥普拉。当她带着令人不舒服的失态离开美国国家广播公司时,这似乎不太可能发生。”、“网址”:“https://www.vox.com/2019/1/12/18179908/megyn-kelly-nbc-split-oprah”、“网址图像”:“https://cdn.vox-cdn.com/thumbor/WiGGM5Fmnb_o5PN4zrXsPHnQRx4=/0x215: 3000x1786/贴合/1200x630/cdn.vox-cdn.com/uploads/chorus_asset/file/13321989/Kelly.jpg”、“发布日期”:“2019-01-12T19:57:29Z”,“内容”:“梅根·凯利已经正式与美国国家广播公司分手,提醒她6900万美元的合同,但留下了成为下一个脱口秀电视女王的任何愿望。双方已经解决了分歧,梅根·凯利不再是emp...[3732个字符]"},

共有1个答案

简培
2023-03-14

使用json_decode将收到的json转换成数组!

$result = json_decode($result);
print_r($result);
 类似资料:
  • 我想在网站中使用Php获取Api响应(在nodejs中创建),所以为此我使用了curl,但它不起作用,我尝试了以下代码,但不起作用(显示空白页面),我错在哪里?这是我的密码

  • 问题内容: 如何隐藏PHP中curl的输出? 我的代码如下: 问题是整个页面都喷出了,我如何简单地显示“成功”或“失败”消息? 问题答案: 使用此选项可以: 这将使返回数据而不是输出数据。 要查看是否成功,您可以再检查也。

  • 从数据库中获取数据并通过DataTables显示时遇到问题。我发现我的大部分数据都有单引号和双引号以及其他特殊字符。我尝试了PHP中的所有转义函数,但都不起作用。addslashes只检索40,000个数据中的59个数据。到目前为止,我有了以下代码: PHP:

  • 问题内容: 我想拥有一个独立的PHP类,在这里我想拥有一个通过cURL调用API并获取响应的函数。有人可以帮我吗? 谢谢。 问题答案: 只需使用下面的代码即可获得来自宁静的Web服务URL的响应,而我使用的是社交提及URL。

  • 问题内容: 我在服务器上调用PHP cURL方法,响应为XML类型。cURL将输出(在删除标记之后)保存在标量类型变量中。有没有一种方法可以将其存储在对象/哈希/数组中,以便于解析? 问题答案:

  • 我不是程序员,我需要你的帮助。 我有一个返回服务器响应的cURL函数-成功或错误: 400-错误响应: 200-成功响应: 我需要验证基于200或400状态码的响应。 如果状态为200,则继续正常操作。 如果状态为400(错误),则我需要跟踪错误消息(去掉所有标签)并仅回显错误消息(在上面的示例中-为了联系,请输入有效的电话号码。) 我该怎么做?请帮忙。 非常感谢。 卷曲代码: