如何使用的file_get_contents IPinfo显示JSON数据

问题描述 投票:1回答:2

今天我使用一个API,用于获取信息的一个特定的IP地址,它工作正常。

file_get_contents("https://ipinfo.io/172.217.19.206");

由此我得到正常的JSON输出,我可以json_decode

{ “IP”: “172.217.19.206”, “主机名”: “ams16s31-in-f14.1e100.net”, “城市”: “”, “区”: “”, “国”: “美国”,“ LOC“: ”37.7510,-97.8220“, ”组织“: ”谷歌AS15169有限责任公司“}

但我不明白的是,如果我使用的浏览器,然后我没有看到这个输出在所有访问该页面https://ipinfo.io/172.217.19.206。我一直以为的file_get_contents获取页面的源代码?

php json file-get-contents
2个回答
2
投票

本网站使用的UserAgent方式来处理这一点。

您可以通过邮差测试。

只有在头部分User-Agent设置空值和发送get请求到该网址。

Postman Example


1
投票

这是覆盖我们这里的文档:https://ipinfo.io/developers#json-response

我们尝试当有人要叫我们的API和浏览我们的网站,并传回相应的JSON响应,而不是HTML自动检测。我们这样做是基于用户代理已知流行的编程语言,工具和框架

有“神奇”的几个其他位。我们将始终发送JSON,如果有一个URL回调参数,或AJAX头。

你也可以强制加入/json到URL的结尾,或发送Accept: application/json头的JSON响应。

© www.soinside.com 2019 - 2024. All rights reserved.