Php API给出了406个带有Accept application/json请求的代码:Bluehost
这是我尝试验证API时得到的结果Php API给出了406个带有Accept application/json请求的代码:Bluehost,php,mime-types,truffle,nft,Php,Mime Types,Truffle,Nft,这是我尝试验证API时得到的结果 Content-Type: application/json Vary: Accept { "valid": false, "token_uri": "https://mining4btc.com/NFT/rinkeby/CKE/1", "errors": [ "InvalidTokenUrlResponseException: I
Content-Type: application/json
Vary: Accept
{
"valid": false,
"token_uri": "https://mining4btc.com/NFT/rinkeby/CKE/1",
"errors": [
"InvalidTokenUrlResponseException: Invalid response, expected 200 but got 406 for URL: https://mining4btc.com/NFT/rinkeby/CKE/1"
]
}
我用这个来验证我的API:
正如你所见,它的代码是406
这是API:
<?php
header('Content-Type: application/json');
$output = '{
"attributes": [
{
"trait_type": "Eyes",
"value": "cute"
},
{
"trait_type": "Nose",
"value": "cute"
},
{
"trait_type": "Cheeks",
"value": "cute"
},
{
"trait_type": "Toes",
"value": "cute"
},
{
"trait_type": "Ability",
"value": "chairs"
},
{
"display_type": "boost_number",
"trait_type": "Cuteness",
"value": 5000
},
{
"display_type": "number",
"trait_type": "Age",
"value": 1
}
],
"description": "Thinking about my Mommy.",
"external_url": "https://mining4btc.com/NFT/rinkeby/CKE/external",
"image": "https://mining4btc.com/NFT/rinkeby/CKE/proof/1.jpg",
"name": "Chillin"
}';
$decoded = json_decode($output);
echo json_encode($decoded);
?>
这是一个遵循OpenSea文档的NFT合同API;使用Truffle部署到rinkeby。我已经确认这是因为Bluehost(通过返回此代码)使用Accept:application/json头主动阻止请求。您必须联系Bluehost并要求他们将您希望能够访问元数据的IP地址列入白名单
据我所知,他们这样做是因为他们想让人们为VPS付费,因为他们假设这种请求会转到某种需要大量后端处理的健壮API。你能记录请求头并在问题中传递它们吗?406通常意味着客户端请求了
Accept-
(内容类型、语言、字符集等)头,但服务器无法使用此参数进行响应。例如,客户端请求Accept language:en_GB
,但服务器只能用language:es_es
响应,因此返回406。关于Accept:application/json头部分,您是对的。此外,如果“无法”是指服务器专门配置为阻止它们。