1# ArkWeb_CookieManagerAPI 2<!--Kit: ArkWeb--> 3<!--Subsystem: Web--> 4<!--Owner: @aohui--> 5<!--Designer: @yaomingliu--> 6<!--Tester: @ghiker--> 7<!--Adviser: @HelloCrease--> 8 9## 概述 10 11定义了ArkWeb的CookieManager接口。在调用接口之前,建议使用[ARKWEB_MEMBER_MISSING](capi-arkweb-type-h.md#宏定义)检查函数结构体是否有对应的函数指针,避免SDK与设备ROM不匹配导致崩溃。 12 13**起始版本:** 12 14 15**相关模块:** [Web](capi-web.md) 16 17**所在头文件:** [arkweb_type.h](capi-arkweb-type-h.md) 18 19## 汇总 20 21### 成员变量 22 23| 名称 | 描述 | 24| -- | -- | 25| size_t size | 结构体的大小。 | 26 27 28### 成员函数 29 30| 名称 | 描述 | 31|-------------------------------------------------------------------------------------------------------------------------------------------|--------------------| 32| [ArkWeb_ErrorCode (\*fetchCookieSync)(const char* url, bool incognito, bool includeHttpOnly, char** cookieValue)](#fetchcookiesync) | 获取指定URL对应的cookie值。 | 33| [ArkWeb_ErrorCode (\*configCookieSync)(const char* url,const char* cookieValue, bool incognito, bool includeHttpOnly)](#configcookiesync) | 设置指定URL的cookie值。 | 34| [bool (\*existCookies)(bool incognito)](#existcookies) | 检查Cookie是否存在。 | 35| [void (\*clearAllCookiesSync)(bool incognito)](#clearallcookiessync) | 清除所有cookies。 | 36| [void (*clearSessionCookiesSync)()](#clearsessioncookiessync) | 清除所有会话Cookies。 | 37 38## 成员函数说明 39 40### fetchCookieSync() 41 42``` 43ArkWeb_ErrorCode (*fetchCookieSync)(const char* url, bool incognito, bool includeHttpOnly, char** cookieValue) 44``` 45 46**描述:** 47 48获取指定URL对应的cookie值。 49 50**参数:** 51 52| 参数项 | 描述 | 53| -- | -- | 54| const char* url | 要获取的cookie所属的URL,建议使用完整的URL。 | 55| bool incognito | true表示获取隐私模式下webview的内存cookie, false表示获取非隐私模式下的cookie。 | 56| bool includeHttpOnly | 如果为true,则标记为HTTP-Only属性的cookie也将包含在cookieValue中。 | 57| char** cookieValue | 获取与URL对应的cookie值。 | 58 59**返回:** 60 61| 类型 | 说明 | 62|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------| 63| [ArkWeb_ErrorCode](capi-arkweb-error-code-h.md#arkweb_errorcode) | 返回值错误码。<br>[ARKWEB_SUCCESS](capi-arkweb-error-code-h.md#arkweb_errorcode) 获取cookie成功。<br>[ARKWEB_INVALID_URL](capi-arkweb-error-code-h.md#arkweb_errorcode) 设置的URL无效。<br>[ARKWEB_INVALID_PARAM](capi-arkweb-error-code-h.md#arkweb_errorcode) cookieValue参数无效。 | 64 65### configCookieSync() 66 67``` 68ArkWeb_ErrorCode (*configCookieSync)(const char* url,const char* cookieValue, bool incognito, bool includeHttpOnly) 69``` 70 71**描述:** 72 73设置指定URL的cookie值。 74 75**参数:** 76 77| 参数项 | 描述 | 78| -- | -- | 79| const char* url | 指定cookie所属的URL,建议填写完整的URL。 | 80| const char* cookieValue | 要设置的cookie的值。 | 81| bool incognito | true表示在隐私模式下设置对应URL的Cookie,false表示以非隐私模式设置对应URL的cookie。 | 82| bool includeHttpOnly | 如果为true,则标记为HTTP-Only的cookie也可以被覆盖。 | 83 84**返回:** 85 86| 类型 | 说明 | 87|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------| 88| [ArkWeb_ErrorCode](capi-arkweb-error-code-h.md#arkweb_errorcode) | 返回值错误码。<br>[ARKWEB_SUCCESS](capi-arkweb-error-code-h.md#arkweb_errorcode) 获取cookie成功。<br>[ARKWEB_INVALID_URL](capi-arkweb-error-code-h.md#arkweb_errorcode) 设置的URL无效。<br>[ARKWEB_INVALID_PARAM](capi-arkweb-error-code-h.md#arkweb_errorcode) cookieValue参数无效。 | 89 90### existCookies() 91 92``` 93bool (*existCookies)(bool incognito) 94``` 95 96**描述:** 97 98检查Cookie是否存在。 99 100**参数:** 101 102| 参数项 | 描述 | 103| -- | -- | 104| bool incognito | true表示隐私模式下是否存在cookie,false表示非隐私模式下是否存在cookie。 | 105 106**返回:** 107 108| 类型 | 说明 | 109|----|----| 110| bool | true表示cookie存在,false表示cookie不存在。 | 111 112### clearAllCookiesSync() 113 114``` 115void (*clearAllCookiesSync)(bool incognito) 116``` 117 118**描述:** 119 120清除所有cookies。 121 122**参数:** 123 124| 参数项 | 描述 | 125|----|----| 126| bool incognito | true表示清除隐私模式下的所有cookies,false表示清除非隐私模式下的所有cookies。 | 127 128 129### clearSessionCookiesSync() 130 131``` 132void (*clearSessionCookiesSync)() 133``` 134 135**描述:** 136 137清除所有会话Cookies。 138