-1

我收到一个 HTTP 请求的 400 响应代码。我想阅读 PHP 中的响应消息。我正在阅读这样的响应代码:

$options = array(
            'http' => array(
                'header'  => "Content-type: application/json\r\n",
                'method'  => 'POST',
                'content' => json_encode($data)
                ),
            "ssl"=>array(
                "verify_peer"=>false,
                "verify_peer_name"=>false,
                ),
            );
        $context  = stream_context_create($options);
        $result = file_get_contents($url, false, $context);

        if(strrpos($http_response_header[0], '200')){
            echo '200'."<br/>";
            return $result;
        }
        elseif(strrpos($http_response_header[0], '400')){
            echo '400'."<br/>";
            return $result;
        }

在响应代码 400 的情况下,我得到了 result = bool(false)。

4

2 回答 2

0

尝试'ignore_errors' => true在上下文中添加到您的 http 选项:

$options = array(
        'http' => array(
            'header'  => "Content-type: application/json\r\n",
            'method'  => 'POST',
            'content' => json_encode($data),
            'ignore_errors' => true
            ),
        "ssl"=>array(
            "verify_peer"=>false,
            "verify_peer_name"=>false,
            ),
        );
于 2018-04-16T08:09:54.743 回答
0

尝试这个

if (http_response_code() == 400)
    return true;
于 2018-04-16T08:03:53.037 回答