# ArkWeb_CookieManagerAPI
## 概述
定义了ArkWeb的CookieManager接口。在调用接口之前,建议使用[ARKWEB_MEMBER_MISSING](capi-arkweb-type-h.md#宏定义)检查函数结构体是否有对应的函数指针,避免SDK与设备ROM不匹配导致崩溃。
**起始版本:** 12
**相关模块:** [Web](capi-web.md)
**所在头文件:** [arkweb_type.h](capi-arkweb-type-h.md)
## 汇总
### 成员变量
| 名称 | 描述 |
| -- | -- |
| size_t size | 结构体的大小。 |
### 成员函数
| 名称 | 描述 |
|-------------------------------------------------------------------------------------------------------------------------------------------|--------------------|
| [ArkWeb_ErrorCode (\*fetchCookieSync)(const char* url, bool incognito, bool includeHttpOnly, char** cookieValue)](#fetchcookiesync) | 获取指定URL对应的cookie值。 |
| [ArkWeb_ErrorCode (\*configCookieSync)(const char* url,const char* cookieValue, bool incognito, bool includeHttpOnly)](#configcookiesync) | 设置指定URL的cookie值。 |
| [bool (\*existCookies)(bool incognito)](#existcookies) | 检查Cookie是否存在。 |
| [void (\*clearAllCookiesSync)(bool incognito)](#clearallcookiessync) | 清除所有cookies。 |
| [void (*clearSessionCookiesSync)()](#clearsessioncookiessync) | 清除所有会话Cookies。 |
## 成员函数说明
### fetchCookieSync()
```
ArkWeb_ErrorCode (*fetchCookieSync)(const char* url, bool incognito, bool includeHttpOnly, char** cookieValue)
```
**描述:**
获取指定URL对应的cookie值。
**参数:**
| 参数项 | 描述 |
| -- | -- |
| const char* url | 要获取的cookie所属的URL,建议使用完整的URL。 |
| bool incognito | true表示获取隐私模式下webview的内存cookie, false表示获取非隐私模式下的cookie。 |
| bool includeHttpOnly | 如果为true,则标记为HTTP-Only属性的cookie也将包含在cookieValue中。 |
| char** cookieValue | 获取与URL对应的cookie值。 |
**返回:**
| 类型 | 说明 |
|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
| [ArkWeb_ErrorCode](capi-arkweb-error-code-h.md#arkweb_errorcode) | 返回值错误码。
[ARKWEB_SUCCESS](capi-arkweb-error-code-h.md#arkweb_errorcode) 获取cookie成功。
[ARKWEB_INVALID_URL](capi-arkweb-error-code-h.md#arkweb_errorcode) 设置的URL无效。
[ARKWEB_INVALID_PARAM](capi-arkweb-error-code-h.md#arkweb_errorcode) cookieValue参数无效。 |
### configCookieSync()
```
ArkWeb_ErrorCode (*configCookieSync)(const char* url,const char* cookieValue, bool incognito, bool includeHttpOnly)
```
**描述:**
设置指定URL的cookie值。
**参数:**
| 参数项 | 描述 |
| -- | -- |
| const char* url | 指定cookie所属的URL,建议填写完整的URL。 |
| const char* cookieValue | 要设置的cookie的值。 |
| bool incognito | true表示在隐私模式下设置对应URL的Cookie,false表示以非隐私模式设置对应URL的cookie。 |
| bool includeHttpOnly | 如果为true,则标记为HTTP-Only的cookie也可以被覆盖。 |
**返回:**
| 类型 | 说明 |
|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
| [ArkWeb_ErrorCode](capi-arkweb-error-code-h.md#arkweb_errorcode) | 返回值错误码。
[ARKWEB_SUCCESS](capi-arkweb-error-code-h.md#arkweb_errorcode) 获取cookie成功。
[ARKWEB_INVALID_URL](capi-arkweb-error-code-h.md#arkweb_errorcode) 设置的URL无效。
[ARKWEB_INVALID_PARAM](capi-arkweb-error-code-h.md#arkweb_errorcode) cookieValue参数无效。 |
### existCookies()
```
bool (*existCookies)(bool incognito)
```
**描述:**
检查Cookie是否存在。
**参数:**
| 参数项 | 描述 |
| -- | -- |
| bool incognito | true表示隐私模式下是否存在cookie,false表示非隐私模式下是否存在cookie。 |
**返回:**
| 类型 | 说明 |
|----|----|
| bool | true表示cookie存在,false表示cookie不存在。 |
### clearAllCookiesSync()
```
void (*clearAllCookiesSync)(bool incognito)
```
**描述:**
清除所有cookies。
**参数:**
| 参数项 | 描述 |
|----|----|
| bool incognito | true表示清除隐私模式下的所有cookies,false表示清除非隐私模式下的所有cookies。 |
### clearSessionCookiesSync()
```
void (*clearSessionCookiesSync)()
```
**描述:**
清除所有会话Cookies。