我的一个网站上有api。当我尝试获取内容宽度file_get_contents
时发生错误。
我在浏览器中测试了网址,没关系。
这是我的网址dilox.ir/category/مجله-ماشین/?json=1
,这是我的PHP代码
$cat = 'مجله-ماشین';
$json = file_get_contents('http://dilox.ir/category/' . $cat . '/json=1&count=10&page=' . $page);
执行我的代码后。我面对这个错误
{ "name":"PHP Notice",
"message":"Trying to get property of non-object",
"code":8,
"type":"yii\\base\\ErrorException",
"file":"C:\\xampp\\htdocs\\pkhodro\\controllers\\ApiController.php",
"line":142,
"stack-trace":["#0 C:\\xampp\\htdocs\\pkhodro\\controllers\\ApiController.php(142): yii\\base\\ErrorHandler->handleError(8, 'Trying to get p...', 'C:\\\\xampp\\\\htdocs...', 142, Array)",
"#1 [internal function]: app\\controllers\\ApiController->actionGet_magazines(1)",
"#2 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\base\\InlineAction.php(55): call_user_func_array(Array, Array)",
"#3 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\base\\Controller.php(154): yii\\base\\InlineAction->runWithParams(Array)",
"#4 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\base\\Module.php(454): yii\\base\\Controller->runAction('get_magazines', Array)",
"#5 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\web\\Application.php(87): yii\\base\\Module->runAction('api/get_magazin...', Array)",
"#6 C:\\xampp\\htdocs\\pkhodro\\vendor\\yiisoft\\yii2\\base\\Application.php(375): yii\\web\\Application->handleRequest(Object(yii\\web\\Request))",
"#7 C:\\xampp\\htdocs\\pkhodro\\web\\index.php(12): yii\\base\\Application->run()","#8 {main}"
]
}
它表明它无法读取网址。对于没有连字符
的类别,相同的代码正在成功执行请参阅此修改
我测试了我的代码。 file_get_contents
为我返回json,但json_decode无法解码返回的json并导致错误