2017-07-11 14 views
0

私はBungieのゲームDestinyから人のXboxアカウントの統計を検索する、自分のアプリケーション開発クラスの最終プロジェクトのためにアプリケーションを開発しています。 BungieのAPI for Destinyは、GETとPOSTのエンドポイントの束です。現在、私は、このGETエンドポイントに、分類されたAPIキー「http://www.bungie.net/Platform/Destiny/Stats/ActivityHistory/1/4611686018435748893/2305843009397915105/」を使用してアクセスしようとしています。しかし、そのエンドポイントをプルダウンすると、実際のJSONの代わりにJSONの書式設定が得られます。ここでAlamofireが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> 

P.S.私は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 

答えて

0

を使用すると、返されたHTMLを開く場合は、ここにあなたが見るものです:

Screenshot

のように見えます要求は何らかの種類のWebコンテンツフィルタ/ファイアウォールによってブロックされます。これはおそらくBungieのAPIとは関係ありません。

関連する問題