request.setAttribute("key","cookie信息")
用的时候,request.getAttribute("key")
httppost添加cookie的方法具体如下:第一种
HashMap map = new HashMap()
map.put("cookie","p1u_id=4eb591e73554db0f4d3300cb656113abfb968ef6b0ee2b5de0a35caa5217c51faa028b453576b35c")
networkConnection.setHeaderList(map)
NetworkConnection.ConnectionResult result = networkConnection.execute()
第二种是用okhttp
OkHttpClient client = new OkHttpClient()
String returnData=null
com.squareup.okhttp.Request request = new com.squareup.okhttp.Request.Builder()
addHeader("cookie", "p1u_id=4eb591e73554db0f4d3300cb656113abfb968ef6b0ee2b5de0a35caa5217c51faa028b453576b35c")
url(url)
.build()
Response response = null
try {
response = client.newCall(request).execute()
returnData=response.body().string()
Log.i("ss", "url is " + url + "_______RETUNRN DATA IS " + returnData)
} catch (IOException e) {
e.printStackTrace()
}
WKWebView 发送请求时不会把 HTTPCookieStorage 中的cookie写入请求中需要手动添加。
iOS11之前实现思路是在原有的URLRequest中注入cookie再load,这种做法只能在webView第一次请求的时候会生效,后续未跨域请求带上cookie需要在 WKWebViewConfiguration 中添加 WKUserScript .
iOS11后通过 WKWebsiteDataStore 管理
通过上述方案修改后的cookie,服务器无法再往请求中添加cookie,所以服务器返回的cookie需要本地记录,后续请求再继续添加.
实现 WKNavigationDelegate
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)