我正在做以下剧本:( Mojang Api)
curl_setopt($ch, CURLOPT_URL, "https://authserver.mojang.com/authenticate" );
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_POST, 1 );
$headers = array(
'Accept: application/json','Content-Type=application/json'
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
"agent": {
"name": "Minecraft",
"version": 1
},
"username": "idk",
"password": "something",
"requestUser": true
}' );
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain'));
$result=curl_exec ($ch);
echo $result;
它给出了这个答案:
{"error":"Unsupported Media Type","errorMessage":"The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method"}
如何修复不支持的媒体类型的错误?
答案 0 :(得分:0)
我是一头牛。
这行代码
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain'));
告诉它纯文本
但它必须是这样的:
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));