2

Webサイトに特定のファイル(test.licence)が存在するかどうかを確認したいiPhoneで。私のアプローチ (これまでのところ) は、ファイルをダウンロードして、それが Documents ディレクトリに存在するかどうかを確認することでした。ただし、ファイルが存在しない場合、Apache は HTML エラー ページを表示します (test.licence の代わりにダウンロードします)。ファイル サイズの確認は、さまざまであるため、あいまいなソリューションです。

では、オンライン ファイルが存在する (それ以上ではない) かどうかを確認するにはどうすればよいでしょうか。シンプルでクリーンなソリューションを探しています。

よろしく、

ステファン

4

2 に答える 2

7

NSURLRequest経由で送信しNSURLConnectionます。応答を受け取ったら、ステータス コードが 200 (存在する)、404 (存在しない)、またはその他 (別のことが発生した) のいずれであるかを確認します。

于 2010-06-21T15:59:41.533 に答える
3

404 エラー コードは、ページが存在するかどうかを確認する正しい方法ですが、UIWebView でページを表示する場合は、最初にページが存在するかどうかを確認し、存在する場合は、 Web ビュー内で再度ロードします (最初にロードすると、Apache エラー ページが表示される危険があります)。

帯域幅を 2 ​​回使い切らないようにするために、最初のサニティ チェックでファイルが存在するかどうかを確認するために、ページの本文ではなく HTTP ヘッダーのみを取得する HEAD 要求を実行できます。これをコードに追加するだけです (urlRequest のタイプが NSURLRequest であると仮定します):

[urlRequest setHTTPMethod:@"HEAD"];
于 2010-06-21T19:36:59.250 に答える