次の URL に問題があります: http://www.mix1011.com.au/m_app/entertainment/zooey-deschanel-no-bangs
ラップトップから URL にアクセスできますが、モバイル アプリをテストしているときに 404 エラーが表示されます... Web サイトではモバイル デバイスからのアクセスが制限されていると理解しています。
この問題のトラブルシューティング方法を説明していただけますか?
次の URL に問題があります: http://www.mix1011.com.au/m_app/entertainment/zooey-deschanel-no-bangs
ラップトップから URL にアクセスできますが、モバイル アプリをテストしているときに 404 エラーが表示されます... Web サイトではモバイル デバイスからのアクセスが制限されていると理解しています。
この問題のトラブルシューティング方法を説明していただけますか?
アクセスが制限されているわけではありません。何が起こっているかというと、探しているページがないモバイル サイトにリダイレクトされているということです。モバイル ブラウザから URL にアクセスしようとすると、次のデータとともに 302 リダイレクトが送信されます。
HTTP/1.1 302 Found
Connection: close
Date: Sat, 11 May 2013 20:45:46 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Server: Live6
X-AspNet-Version: 2.0.50727
Location: http://m.mix1011.com.au/m/m_app/entertainment/zooey-deschanel-no-bangs
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 187
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="http://m.mix1011.com.au/m/m_app/entertainment/zooey-deschanel-no-bangs">here</a>.</h2>
</body></html>
ただし、その Web ページは m.mix1011.com.au には存在しないため、そのドメインで 404 が返されます。
HTTP/1.1 404 Not Found
Connection close
Date Sat, 11 May 2013 20:45:46 GMT
Server Microsoft-IIS/6.0
X-Powered-By ASP.NET
Server Live7
X-AspNet-Version 2.0.50727
Cache-Control private
Content-Length 0
ほとんどの HTTP プロキシを使用すると、この状況を監視できます。私はCharles Proxyを使用しました。iPhone シミュレーターで Web ページにアクセスしている間は、実行したままにしておきます。Firefox を使用して、ブラウザーのユーザー エージェントを Mobile Safari に変更することもできます。
ユーザー エージェントを変更することで、この問題を回避できます (UIWebView を使用していると仮定します)。
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Your user agent", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];