1) Cookie が HTTP 専用でない場合は、JavaScript コマンドdocument.cookie
を onで評価して取得しwebView
、リクエストに使用できます。それらが HTTP のみの場合、これを行うための有効な方法はないようです。私が知る限り、WKWebView
との間で Cookie を同期する文書化された方法はありません。NSURLSession
2) 別のアプローチ (Cookie が REST API が属する同じドメインに属している場合) -webView
同じプロセス プールで「バックグラウンド」を作成し、このインスタンスを介して REST API に対するすべての操作を実行します。Cookie は自動的に追加されます (HTTP のみでも):
パラメータ(メソッド/ボディ/ヘッダー/など)を設定してloadRequest:
、;を介してリクエストおよびロードできます。REST API が JSON を返す場合は、JavaScript コマンド
document.body
を使用して取得できます。
応答コードを取得するのは少し難しいです
。webView:decidePolicyForNavigationResponse:
メソッド
を実装WKNavigationDelegate
してキャッチする必要があります。
webView
また、同時に実行できるリクエストは 1 つだけであることに注意する必要があります。そのため、次々に実行されるリクエストのキューを作成する必要がある場合があります。