2

私はコミュニティのウェブサイトからウェブページをダウンロードして結果を解析するObjective-cプロジェクトに取り組んでいます。ダウンロードコードは次のようになります。

NSError* error = nil;
    NSString* text = [NSString stringWithContentsOfURL:fileUrl encoding:NSASCIIStringEncoding error:&error];
    if(text) {
        return text;
    }
    else {
        NSLog(@"Error = %@", error);
        return nil;
    }

奇妙なことに、サイトからダウンロードすると、サイトにログインした場合にのみ表示される結果のコンテンツが表示されます(私のブラウザーでは、私はそうです)。

そのメソッド(NSString stringWithContentsOfURL:encoding:error)は、リクエストの実行時にブラウザのCookieを使用しますか?もしそうなら、それは特にそれが統合されているSafariですか?デフォルトのブラウザ?私が見ている動作を説明するドキュメントが見つからないようです。私はその振る舞いに問題はありませんが(実際、それが望ましいです)、何が起こっているのかを完全に理解している場合にのみ、それに依存したいと思います。

御時間ありがとうございます。

4

1 に答える 1

1

Cookie は自動的に処理され、アプリのNSHTTPCookieStorage共有インスタンスに保存されます。メソッドを呼び出してcookies、Cookie があるかどうかを確認します。もしそうなら、それはあなたの疑いを確認します。

UIWebView編集:アプリで を使用していて、そこからログインしていると思われます。その場合、はい、Cookie はアプリのNSHTTPCookieStorage共有インスタンスに保存され、以降の URL 要求で使用されます。

于 2013-03-17T20:51:33.410 に答える