クライアントアプリを開発しています。ほとんどのアプリはWebViewで動作します。Web サーバーからいくつかのページをロードします。
ユーザーを承認した後、すべての Cookie を取得してローカルに保存します。次に、これらの Cookie をwebView
viaCookieManager
に置きますCookieSyncManager
。ユーザーが特定のページをナビゲートした後、サーバーは同じ Cookie を返しますが、今回は新しい値が追加されています。その時から、Cookie のその部分を取得して同期できるようにする必要があります。
新しい Cookie を取得して以前の Cookie に置き換えるのではなく、Cookie の新しいものを見つけて現在の Cookie に追加する必要があることに注意してください。
Cookie 解析の問題と解決策を見ました。しかし、サーバーが返すものは、それらの標準的な値のペアのものとは異なります。クッキーはこんな感じ
PHPSESSID=27dd72de72e1643727c4ddb150b2f988; aes_session=a%3A12%3A%7Bs%3A10%3A%22aaaaaaaa%22%3Bs%3A32%3A%22e116b84c302d763a4f759caa5d178455%22%3Bs%3A10%3A%22bbbbbbb%22%3Bs%3A15%3A%22111.111.111.111%22%3Bs%3A10%3A%22user_agent%22%3Bs%3A40%3A%22Apache-HttpClient%2FUNAVAILABLE+%28java+1.4%29%22%3Bs%3A13%3A%22jjjjjjjj%22%3Bi%3A1372138481%3Bs%3A9%3A%22cccccc%22%3Bs%3A0%3A%22%22%3Bs%3A4%3A%22fail%22%3Bs%3A7%3A%22ddddddd%22%3Bs%3A2%3A%22id%22%3Bs%3A2%3A%2231%22%3Bs%3A8%3A%22eeeeee%22%3Bs%3A7%3A%22ffffffff%22%3Bs%3A4%3A%22ggggggg%22%3Bs%3A9%3A%22hhhhhh%22%3Bs%3A7%3A%22%22%3Bs%3A1%3A%221%22%3Bs%3A6%3A%22iiiiii%22%3Bs%3A1%3A
iiiiii
この例では、次の値が追加されます。
問題は、この種の Cookie を処理するパーサーがあるかどうか、または正規表現を作成する必要があるかどうかです。ご協力ありがとうございました!