Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法打开流:HTTP请求失败!HTTP/1.1 400中的错误请求_Php_Json_Request - Fatal编程技术网

Php 无法打开流:HTTP请求失败!HTTP/1.1 400中的错误请求

Php 无法打开流:HTTP请求失败!HTTP/1.1 400中的错误请求,php,json,request,Php,Json,Request,我的代码: function jsonCall() { global $_SESSION; global $smarty; $client_id = "XXXXXXXX"; $next_max_tag_id = 1349756086082; if(isset($_POST['nextSubmit'])) { $next_max_tag_id = $_POST['next_max_tag_id'];

我的代码:

function jsonCall()
{

    global $_SESSION;
    global $smarty;

    $client_id = "XXXXXXXX";
    $next_max_tag_id = 1349756086082;

    if(isset($_POST['nextSubmit']))
        {
            $next_max_tag_id = $_POST['next_max_tag_id'];
        }


    $url ='https://api.instagram.com/v1/tags/' . $_SESSION['zoekterm'] . '/media/recent?access_token=145408254.f59def8.448ef83c8fa740aa9744a0c47766a857&max_tag_id=' . $next_max_tag_id;

    $json = file_get_contents($url);
    $json_output = json_decode($json,true);

    file_put_contents('json/instagram.json',$json);

    $imagesErbuiten = array();

            foreach($json_output['data'] as $data)
            {
                foreach($data['images'] as $images)
                {
                    array_push($imagesErbuiten, $images);
                }
            }


    $smarty->assign('arrData',$imagesErbuiten);
    $smarty->assign('next_max_tag_id',$json_output['pagination']['next_max_tag_id']);
}
我正在使用Instagram API和Flickr API。当他们的搜索字段中有一个他们不知道的值时,他们都会得到相同的错误

例如:

Instagram不允许通过标签进行搜索,如色情、山雀等。。。当这种情况发生时,您会收到400个错误请求。搜索QSDFQSDFQSDFQSDFQSDF(不存在)时没有错误,因为搜索有效,但数组为空(这很好,因此我可以显示“未找到任何内容”)

这不是一个空位问题。我allready排除了所有的空格,并用+替换它们

我的问题:

是否可以删除或修复此错误?一切都很好,只是你在我的页面顶部看到了一个丑陋的错误

您好,
W.

一种替代方法是使用cURL(http://php.net/manual/en/book.curl.php)要在打印前获取有关请求的更多详细信息,请执行以下操作:

像这样的一些可能会帮助你:

function url_get_contents ($Url) {
    if (!function_exists('curl_init')){ 
        die('CURL is not installed!');
    }
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $Url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get the code of request
    curl_close($ch);

    if($httpCode == 400) 
       return 'No donuts for you.';

    if($httpCode == 200) //is ok?
       return $output;


}

另一种选择是使用cURL(http://php.net/manual/en/book.curl.php)要在打印前获取有关请求的更多详细信息,请执行以下操作:

像这样的一些可能会帮助你:

function url_get_contents ($Url) {
    if (!function_exists('curl_init')){ 
        die('CURL is not installed!');
    }
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $Url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $output = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); //get the code of request
    curl_close($ch);

    if($httpCode == 400) 
       return 'No donuts for you.';

    if($httpCode == 200) //is ok?
       return $output;


}

我帮了大忙。他们现在得到的回应是:“你这个坏孩子!不要在这里搜索色情!你现在会看到一些流行的instapics。”我也有一个403错误的请求,所以我也可以修复这个请求。你刚刚帮助了5名学生(和一名老师)解决了同样的问题。非常感谢你!我帮了大忙。他们现在得到的回应是:“你这个坏孩子!不要在这里搜索色情!你现在会看到一些流行的instapics。”我也有一个403错误的请求,所以我也可以修复这个请求。你刚刚帮助了5名学生(和一名老师)解决了同样的问题。非常感谢你!