pc插件editthiscookie如何使用。格式如下:
[
{
"domain": "www.facebook.com",
"expirationDate": 1685149171.944668,
"hostOnly": false,
"httpOnly": true,
"name": "datr",
"path": "/",
"sameSite": "no_restriction",
"secure": true,
"session": false,
"storeId": "0",
"value": "b-gZYEIz8RUU_eBMcwr5OjBZ",
"isProtected": true,
"id": 1
},
{
"domain": "www.facebook.com",
"hostOnly": false,
"httpOnly": false,
"name": "m_pixel_ratio",
"path": "/",
"sameSite": "unspecified",
"secure": true,
"session": true,
"storeId": "0",
"value": "3",
"id": 2
},
{
"domain": "www.facebook.com",
"expirationDate": 1685149175.385561,
"hostOnly": false,
"httpOnly": true,
"name": "sb",
"path": "/",
"sameSite": "no_restriction",
"secure": true,
"session": false,
"storeId": "0",
"value": "7e6uYIuQYi3OH0wK4_uPaP2o",
"id": 3
},
{
"domain": "www.facebook.com",
"expirationDate": 1622699387,
"hostOnly": false,
"httpOnly": false,
"name": "wd",
"path": "/",
"sameSite": "lax",
"secure": true,
"session": false,
"storeId": "0",
"value": "360x640",
"id": 4
},
{
"domain": "www.facebook.com",
"hostOnly": false,
"httpOnly": false,
"name": "x-referer",
"path": "/",
"sameSite": "no_restriction",
"secure": true,
"session": true,
"storeId": "0",
"value": "eyJyIjoiL2p1c3RpbmUuamF1Z",
"id": 5
},
{
"domain": "www.facebook.com",
"hostOnly": false,
"httpOnly": false,
"name": "c_user",
"path": "/",
"sameSite": "unspecified",
"secure": true,
"session": true,
"storeId": "0",
"value": "100055585550711",
"id": 6
},
{
"domain": "www.facebook.com",
"hostOnly": false,
"httpOnly": false,
"name": "datr",
"path": "/",
"sameSite": "unspecified",
"secure": true,
"session": true,
"storeId": "0",
"value": "b-gZYEIz8RUU_eBMcwr5OjBZ",
"id": 7
}
]
是一串json文件。成功后效果图如下:
当然,我们不仅仅可以使用自己cookiel-login还可以使用别人的login。
这是pc端的登录 ,那如果我们想使用android手机也用cookie-login,该怎么处理了。答案是webview:
使用webview登录,格式与pc端使用插件有很大差别:
Set-Cookie: m_ts=1478103992; datr=uxMaWFe4eAqp6W2_dDu2MpA1; fr=OEhMpmXi6717eJE6Y; path=/; domain=.facebook.com
我们需要将json格式转换成上面那种形式,核心代码如下:
private List<FBjson> getJson(String json) {
List<FBjson> fBjsons = new ArrayList<>();
try {
JSONArray jsonArray = new JSONArray(json);
for (int i = 0; i < jsonArray.length(); i++) {
FBjson fBbean = new FBjson();
JSONObject jsonObject = (JSONObject) jsonArray.opt(i);
if (jsonObject.has("name")) {
fBbean.setName(jsonObject.optString("name"));
}
if (jsonObject.has("value")) {
fBbean.setValue(jsonObject.optString("value"));
}
if (jsonObject.has("expires")) {
fBbean.setExpires(jsonObject.optString("expires"));
}
if (jsonObject.has("expires_timestamp")) {
fBbean.setExpires_timestamp(jsonObject.optInt("expires_timestamp"));
}
fBjsons.add(fBbean);
}
} catch (Exception e) {
e.printStackTrace();
}
return fBjsons;
}
然后使用webview设置cookie方法进行处理:
private void syncCookie(String url, ArrayList<String> cookieList) {
CookieSyncManager.createInstance(SocketActivity.this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
if (cookieList != null && cookieList.size() > 0) {
for (String cookie : cookieList) {
cookieManager.setCookie(url, cookie);
}
}
cookieManager.setCookie(url, "Domain=" + url);
cookieManager.setCookie(url, "Path=/");
String cookies = cookieManager.getCookie(url);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
cookieManager.flush();
} else {
CookieSyncManager.getInstance().sync();
}
}
效果图如下:
到这里,就全部讲解完成了~~~有疑问欢迎留言哦~