gpt4 book ai didi

json - Alamofire 返回格式而不是 JSON 数据

转载 作者:行者123 更新时间:2023-11-30 12:18:58 25 4
gpt4 key购买 nike

我正在为我的应用程序开发类(class)中的最后一个项目开发一个应用程序,该应用程序可以从 Bungie 的《命运》游戏中查找一个人的 Xbox 帐户的统计信息。 Bungie 的 Destiny API 是一组 GET 和 POST 端点。目前,我正在尝试使用分类的 API key 访问此 GET 端点:“http://www.bungie.net/Platform/Destiny/Stats/ActivityHistory/1/4611686018435748893/2305843009397915105/ ”。然而,当我拉下该端点时,我得到了一堆 JSON 格式,而不是实际的 JSON。

这是我正在使用的代码:

    override func viewDidLoad()
{
super.viewDidLoad()
let headers = ["X-API-Key": //My API Key Here]
let parameters : Parameters = [:]
Alamofire.request("http://www.bungie.net/Platform/Destiny/Stats/UniqueWeapons/1/4611686018435748893/2305843009397915105/", method: .get, parameters: nil, encoding: JSONEncoding.default, headers: headers)

.responseString()
{ response in
if let JSON = response.result.value
{
print("JSON: \(JSON)")
}
}
}

这是返回的示例:

JSON: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Page Restricted</title>
<style>
body{
font-family:Arial,Helvetica,sans-serif;
background:url(body_bg.png) repeat-x #FFFFFF;
margin:0;
}
.text3 {
FONT-SIZE: 14px;
color:#000000;
text-decoration:none;
}
.menuTitle {
FONT-SIZE: 26px;
color:#bd0000;
font-weight:bold;
text-decoration:none;
}
.loginText{
color:#bd0000;
margin-left:220px;
text-decoration:none;
}
.loginText:hover{
text-decoration:underline;
}
</style>
<script type="text/javascript" src="block.js"></script>
</head>
<body onLoad="javascript:displaySections();">
<center>
<table cellpadding="0" cellspacing="0" width="900">
<tr>
<td><img src="top.png" /></td>
</tr>
<tr>
<td height="130" align="left"><table cellpadding="0" cellspacing="0" width="100%" align="left" style="border-right: 1px dashed #999999; border-left: 1px dashed #999999;">
<tr>
<td height="40" colspan="3"></td>
</tr>
<TR>
<TD COLSPAN="100%"><TABLE WIDTH="100%" CELLSPACING="0" CELLPADDING="0" BORDER="0">
<TR>
<TD WIDTH="3%" height="29"></TD>
<TD WIDTH="94%" class="menuTitle" align="center">Page Blocked</TD>
<TD WIDTH="3%"></TD>
</TR>
</TABLE></TD>
</TR>
<tr>
<td colspan="100%">&nbsp;</td>
</tr>
<tr>
<TD width="5%">&nbsp;</TD>
<TD width="90%" style="padding:3px;" class="text3">Access to the requested site has been restricted due to your organization&rsquo;s policy.</TD>
<TD width="5%">&nbsp;</TD>
</tr>
<tr>
<TD width="5%" height="40"></TD>
<TD width="90%" class="text3" style="padding:3px;"><span id="customText"></span></TD>
<TD width="5%"></TD>
</tr>
<tr>
<td height="50" width="5%">&nbsp;</td>
<td class="text3" width="90%"><table class="text3" cellpadding="3" cellspacing="0" width="100%" align="left">
<tr>
<td width="90%"><strong>URL/Content: </strong><span id="url"></span></td>
<td width="10%"></td>
</tr>
<tr>
<td width="90%"><strong>Description: </strong><span id="description"></span></td>
<td width="10%"></td>
</tr>
<tr>
<td width="90%"><strong>Group Number: </strong><span id="groupNumber"></span></td>
<td width="10%"></td>
</tr>
<tr>
<td width="90%"><strong>Ip Address: </strong><span id="ipAddress"></span></td>
<td width="10%"></td>
</tr>
</table></td>
<td width="5%">&nbsp;</td>
</tr>
<tr>
<td align="center" height="250" colspan="100%"><img src="alert.png" /></td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" cellspacing="0" cellpadding="0" style="border-right: 1px dashed #999999; border-left: 1px dashed #999999;">
<tr>
<td width="100%" align="center"><span id="loginDifferentUser"></span></td>
</tr>
<tr>
<td height="15" colspan="100%"></td>
</tr>
</table></td>
</tr>
<FORM action="" method="POST" >
<INPUT type="hidden" name="button">
<INPUT type="hidden" name="fullUrl">
<INPUT type="hidden" name="rem">
<INPUT type="hidden" name="contactEmail">
<INPUT type="hidden" name="gn">
<tr>
<td><table width="100%" cellspacing="0" cellpadding="0" style="border-right: 1px dashed #999999; border-left: 1px dashed #999999;">
<tr>
<td colspan="100%" height="10"></td>
</tr>
<tr>
<td width="8%"></td>
<td class="text3" colspan="13" id="exceptionColor"><strong><span id="exception1"></span></strong></td>
<td width="22%"></td>
</tr>
<tr>
<td colspan="100%" height="10"></td>
</tr>
</table></td>
</tr>
<tr>
<td><table width="100%" cellspacing="0" cellpadding="0" style="border-right: 1px dashed #999999; border-left: 1px dashed #999999;">
<tr>
<td width="20%"></td>
<td class="text3" width="10%"><strong><span id="exception5"></span></strong>&nbsp;</td>
<td class="text3" width="3%"></td>
<td width="32%" align="left"><span id="exception6"></span></td>
<td class="text3" width="5%"></td>
<td width="27%" valign="bottom"></td>
<td width="3%">&nbsp;</td>
</tr>
<tr>
<td width="20%"></td>
<td class="text3" width="10%"><strong><span id="exception2"></span></strong>&nbsp;</td>
<td class="text3" width="3%"></td>
<td width="32%" align="left"><span id="exception3"></span></td>
<td class="text3" width="5%"></td>
<td width="27%" valign="bottom"><span id="exception4"></span></td>
<td width="3%">&nbsp;</td>
</tr>
<tr>
<td height="45" colspan="100%"></td>
</tr>
</table></td>
</tr>
</FORM>
<tr>
<td style="background:url(footer.png) repeat-x; height:100px;" align="left"><img src="footer-logo.png" style="margin:15px;" /></td>
</tr>
</table>
</center>
</body>
</html>

附注我确实进口了Alamofire。我相信该错误与我将数据调用为 .responseString() 有关。但是,当我将其称为 .responseJSON() 时,会返回:

2017-07-11 12:02:20.671937-0500 DCR[96883:6910175] [] nw_socket_write_close shutdown(9, SHUT_WR): [57] Socket is not connected
2017-07-11 12:02:20.673995-0500 DCR[96883:6910175] [] nw_endpoint_flow_service_writes [1.1 104.20.29.30:80 ready socket-flow (satisfied)] Write request has 0 frame count, 0 byte count
2017-07-11 12:02:20.693119-0500 DCR[96883:6910180] [] tcp_connection_write_eof_block_invoke Write close callback received error: [89] Operation canceled

最佳答案

如果您打开返回的 HTML,您将看到以下内容:

Screenshot

看起来该请求被某种网络内容过滤器/防火墙阻止。这很可能与 Bungie 的 API 无关。

关于json - Alamofire 返回格式而不是 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45040695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com