首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >file_get_contents(JSON)不适用于有效的URL

file_get_contents(JSON)不适用于有效的URL
EN

Stack Overflow用户
提问于 2015-05-09 14:02:00
回答 2查看 598关注 0票数 2

我试图从ULR中获得一个JSON,但是我得到了错误:

file_get_contents(http://steamcommunity.com/market/priceoverview/?currency=1&appid=730&market™警告:file_get_contents(http://steamcommunity.com/market/priceoverview/?currency=1&appid=730&market™5-7铜银河(工厂新建):未能打开流: HTTP请求失败!F:\Bitnami\htdocs\Dreamweaver\freehtml5streets\updateInventory.php第70行中的HTTP/1.0 500内部服务器错误

这是我试图使用的URL,因为您可以看到如果您访问它,它会工作(您必须复制整个东西):

name=StatTrak™五七铜银河(新建工厂)

我一直在访问类似的URL并获得JSON,例如:

name=AK-47%20%7C%20Redline%20%28Field-Tested%29

这些URL基本相同,但第一个URL没有HTML标记。这是我的代码:

代码语言:javascript
复制
        $data = file_get_contents('http://steamcommunity.com/market/priceoverview/?currency=1&appid=730&market_hash_name=' . $mydata->market_hash_name);
        $json = json_decode($data);

$mydata->market_hash_name会给我在网址末尾的部分,但是没有HTML (%20%)等等。

我怎么才能让这个起作用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-05-09 14:14:49

看来您需要urlencode您的$mydata->market_hash_name,因为它使用了许多特殊的和保留的字符。下列措施应能发挥作用:

代码语言:javascript
复制
//Assuming $mydata->market_hash_name == "StatTrak™ Five-SeveN | Copper Galaxy (Factory New)"

$data = file_get_contents('http://steamcommunity.com/market/priceoverview/?currency=1&appid=730&market_hash_name=' . urlencode($mydata->market_hash_name));
$json = json_decode($data);
票数 1
EN

Stack Overflow用户

发布于 2015-05-09 14:25:31

对于某些域,您可能发现无法使用此方法( file_get_contents )检索url,因为远程服务器正在期待一个有效的用户代理--在我看来,最好使用cURL获取远程页面的内容.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30140816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档