問題タブ [nshttpcookie]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
766 参照

ios - WKWebView は、navigationResponse ですべての Cookie を提供しませんでした

作業中の UIWebView プロジェクトを WkWebView に置き換えようとしています。多くの投稿を見てきましたが、WKWebView からすべての Cookie を取得するための適切な解決策が得られませんでした。私もこれを試しましevaluateJavaScript:@"document.cookie;"たが、これが得られます()私もこの投稿をチェックし、理解したようにこの解決策も試しましたが、うまくいきませんでした。

guard let cookies = NSHTTPCookieStorage.sharedHTTPCookieStorage().cookies else { return } WKWebView は Cookie をすぐに書き戻さないため、上記の方法は UIWebView でのみ機能します。WKWebView からすべての Cookie を取得する方法を教えてください。ありがとう

このメソッドは機能しますが、すべての Cookie を取得できませんでした。

0 投票する
0 に答える
274 参照

nshttpcookie - HTTPURLResponse から Set-Cookie ヘッダーを複製する

後続のリクエストを認証するための Cookie を取得するために API にアクセスしています。この応答ヘッダーのコレクションから Cookie を取得する必要があります。

次の Cookie を取得する必要があります。

ヘッダーを解析してその Cookie を返したいのですが、次のコードは不要な Cookie のみを表示します。

上記のコードは、次の出力を生成します。

不要な値は、返されたヘッダーのディクショナリで必要なSet-Cookie値を置き換える必要があります。必要な値を置き換える前にSet-Cookie取得する方法はありますか?Set-Cookie

0 投票する
2 に答える
2930 参照

ios - wkwebview/uiwebview でシークレット/プライベート モードをサポートする方法

私はシークレット ブラウザで作業しています。すべての Cookie をクリアするときに wkwebview を使用しています。Google のような人気のある検索エンジンが、行われた検索を記憶していることがわかります。

NSURLSession を使用して NSHTTPCookieStorage と resetcookies のすべての Cookie を消去しようとしましたが、まだ機能していません。

0 投票する
1 に答える
3325 参照

ios - WKWebView、すべての Cookie を取得

WKWebView からすべての Cookie を取得したい。なんで?Web ベースの認証を使用するプロジェクトを開始しました。その結果、ユーザーがログインしていることを確認するため、および他の目的のために Cookie をインターセプトする必要があります。別のケース-ユーザーがログインした場合、彼がアプリを「殺す」と想像してください-このCookieセッションの保存の遅延により、失われます:(。

問題は、Cookie がキャッシュされ、すぐにファイルに保存されないことです。

(ここから @Kemenaran - 以下の p.5)

私が捕まえようとするポイント -

webView:decidePolicyForNavigationResponse:decisionHandler:

ただし、すべてのリクエストがナビゲーションであるとは限らないため、1 つの Cookie (私の場合) がスキップされます。以下の詳細を参照してください

ここに画像の説明を入力

私が試した他のオプションについてのいくつかの言葉...

  1. はい、iOS 11 以降では、ここでWKHTTPCookieStore言及したように使用できることを知っています。しかし、私のプロジェクトは iOS 9 以降をサポートする必要があります

ここに画像の説明を入力

  1. ログインから5〜10秒後に必要なCookieが保存されることは100%確信していますNSHttpCookieStorage(少なくとも数日間のすべてのテストで確認されました)

  2. 提供されたobserverを使用しようとしましNSHTTPCookieManagerCookiesChangedNotificationたが、内部にあるCookieに対してのみコールバックを提供しますwebView:decidePolicyForNavigationResponse:decisionHandler

  3. また、ここで述べたようないくつかの JS を使用して Cookie を取得しようとし、ここからのすべての提案もテストします。ちなみに、本当に素晴らしい記事です。結果 - 陰性

  4. このレーダー バグ、このSO の質問サンプル プロジェクトも見つけましたが、このケースも防止したいと考えています。(削除だけでなく、保存にも適用されるこの投稿で説明されています)また、この状況は真であり、ユーザーがアプリを強制終了した場合、ユーザーがログインし、アプリを強制終了して再起動した場合が存在する可能性があります。そして、これを防ぎます(必要なCookieをチェックするだけNSHttpCookieStorageでも良い考えではありません.ログイン直後に必要なCookieが少し遅れて保存される可能性があるため、このアプローチにはbool-powered奇妙なように見えるいくつかの解決策が必要です..

  5. また、関連する問題についていくつかのSO投稿を読みましたが、最も役立つのは次のとおりです

しかし、まだ良い解決策はありません...

では、Cookie を取得する方法、または少なくとも強制的に Cookie を保存する方法はありますか?