我想从带有file_get_contents
的URL中获取json,但是它将&
替换为&
,因此它不起作用
我尝试卷曲并再次发生
我也直接尝试使用url并且它起作用了,所以url没问题
$url="https://api.kavenegar.com/v1/asdkljsadlkjsd/sms/send.json?receptor=09148523669&sender=100005252&message=testing";
$json = file_get_contents($url);
echo "1";
var_dump($json);
这是结果:
(!)警告: file_get_contents(https://api.kavenegar.com/v1/asdkljsadlkjsd/sms/send.json?receptor=09148523669&sender=100005252&message=testing): 无法打开流:HTTP请求失败! HTTP / 1.1 400错误请求 在第22行的C:\ wamp64 \ www \ te \ func \ testjson.php中
当然,stackoverflow会从结果网址中删除&
。
答案 0 :(得分:0)
问题似乎在于它正在返回错误状态代码。如果是这样,请参阅: Ignoring errors in file_get_contents HTTP wrapper?
$url="https://api.kavenegar.com/v1/asdkljsadlkjsd/sms/send.json?receptor=09148523669&sender=100005252&message=testing";
$context = stream_context_create(array('http' => array('ignore_errors' => true),));
$json = file_get_contents($url, false, $context);
echo $json;
答案 1 :(得分:-1)
这是答案:
$url = 'https://example.url?';
// http_build_query builds the query from an array
$query_array = array (
'search' => $string,
'from' => $from,
'to' => $to,
'format' => 'json'
);
$query = http_build_query($query_array);
$result = file_get_contents($url . '&' . $query);