我尝试从file_get_contents中捕获403错误。请不要回答我应该使用curl。 这是我的代码片段:
$url = "https://authserver.mojang.com/authenticate";
$data = array(
"agent" => array(
"name" => "Minecraft",
"version" => 1
),
"username" => $username,
"password" => $password
);
$options = array(
"http" => array(
"header" => "Content-Type: application/json\n",
"method" => "POST",
"content" => json_encode( $data )
)
);
$context = stream_context_create( $options );
$result = file_get_contents( $url, false, $context );
$response = json_decode( $result );
我的问题是,当我使用有效凭据进行请求时,mojang会使用有效的json字符串进行回答。但是,当我使用无效凭据进行请求时,我收到403 HTTP错误。
如何在我的网站上没有警告的情况下抓住它们。
答案 0 :(得分:0)
我找到了解决方案。有关详细信息,请参阅Good error handling with file_get_contents。
现在是我的代码:
[...]
$result = @file_get_contents( $url, false, $context );
if( ( $response = json_decode( $result ) ) === NULL )
{
exit( "invalid credentials" );
}
else
{
exit( "Go on " );
}