# inet 库模块帮助文档

## inet 成员列表 <a id="inet" href="#inet">&#x23;</a>

### inet.clearCache(可选输入查找模式串) <a id="inet.clearCache" href="#inet.clearCache">&#x23;</a>
清除指定缓存

### inet.clearCookie(可选输入查找模式串) <a id="inet.clearCookie" href="#inet.clearCookie">&#x23;</a>
清除指定 Cookies。  
参数 @1 可指定查找 Cookie 对应网址的模式串（一般指定域名即可）。

### inet.clearSesseion() <a id="inet.clearSesseion" href="#inet.clearSesseion">&#x23;</a>
清除所有会话 Cookie

### inet.clearVisited(可选输入查找模式串) <a id="inet.clearVisited" href="#inet.clearVisited">&#x23;</a>
清除指定历史记录

### inet.deleteCache(缓存URL) <a id="inet.deleteCache" href="#inet.deleteCache">&#x23;</a>
删除指定的缓存

### inet.eachCache <a id="inet.eachCache" href="#inet.eachCache">&#x23;</a>

```aardio
for cacheEntry in inet.eachCache(/*可选输入查找URL匹配模式串  
例如域名*/){
	//遍历所有缓存

}
```

### inet.eachCookie <a id="inet.eachCookie" href="#inet.eachCookie">&#x23;</a>

```aardio
for cacheEntry in inet.eachCookie(/*可选输入查找URL匹配模式串  
例如域名*/){
	//遍历所有缓存Cookie

}
```

### inet.eachVisited <a id="inet.eachVisited" href="#inet.eachVisited">&#x23;</a>

```aardio
for cacheEntry in inet.eachVisited(/*可选输入查找URL匹配模式串  
例如域名*/){
	//遍历所有缓存历史

}
```

### inet.getCookie(url,splitOrPattern) <a id="inet.getCookie" href="#inet.getCookie">&#x23;</a>
返回指定网址的 Cookie 。  
参数 @url 指定网址，也可以仅指定域名。  
如果参数 @splitOrPattern 为 true 则返回包含 Cookie 名值对的表对象。  
@splitOrPattern 指定模式串则返回表，匹配 Cookie 名以匹配结果为键名，不匹配则保持原名。  
此函数能获取其他进程的会话 Cookie。  
获取 HttpOnly Cookie 则必须改用 inet.getCookieEx 函数。

### inet.getCookieEx(url,name,flags) <a id="inet.getCookieEx" href="#inet.getCookieEx">&#x23;</a>
获取指定网址指定名称的 Cookie 。  
参数 @1 指定网址，也可以仅指定域名。  
参数 @name 必须指定 Cookie 名字，区分大小写。  
参数 @3 可选指定选项，Win7 以及之后的系统指定  
`0x2000/*_INTERNET_COOKIE_HTTPONLY*/` 则可获取 HttpOnly Cookie（同时也可以获取非  HttpOnly Cookie）。

### inet.getSystemProxy() <a id="inet.getSystemProxy" href="#inet.getSystemProxy">&#x23;</a>
返回一个表包含当前用户系统代理配置，也即IE代理配置

### inet.lastResponse() <a id="inet.lastResponse" href="#inet.lastResponse">&#x23;</a>
返回服务器响应信息  
可用于查询服务器错误信息

### inet.refreshOption() <a id="inet.refreshOption" href="#inet.refreshOption">&#x23;</a>
刷新配置

### inet.reloadSystemProxy() <a id="inet.reloadSystemProxy" href="#inet.reloadSystemProxy">&#x23;</a>
如果当前进程使用默认代理，则重新配置默认系统代理，  
当切换到全局代理后，需要调用此函数修复 proxyBypass 未即时生效的问题。

### inet.setAuth("用户名","密码",http.request) <a id="inet.setAuth" href="#inet.setAuth">&#x23;</a>
设置登录信息,最后一个参数不能省略  
成功返回true

### inet.setCookie <a id="inet.setCookie" href="#inet.setCookie">&#x23;</a>
设定 Cookie。  
web.form,web.rest,inet.http 共享此 Cookies 设置。

### inet.setCookie(cookieArray) <a id="inet.setCookie" href="#inet.setCookie">&#x23;</a>
设定数组参数指定的多个 Cookie 对象。  
如果参数 @cookieArray 为 null 则返回 false ，不会报错。  
如果参数 @cookieArray 数组则返回 true  

数组中的每个 Cookie 对象都必须是一个表。  
- 表中 domain 指定域名, path 指定网站目录（可省略）。  
- name 字段（Cookie 名字）与 value 字段（Cookie 值，必须是字符串）至少指定一个。  
- expires 字段可不指定（设置会话 Cookie）。  
expires 可指定 time.gmt 参数所支持的时间格式，指定数值则表示时间戳。  

此数组格式兼容  fsys.cookies 以及 CDP 方法 Network.getCookies 。

### inet.setCookie(params) <a id="inet.setCookie" href="#inet.setCookie">&#x23;</a>

```aardio
inet.setCookie({  
	domain = "example.com";  
	cookies = {  
		name1 = "value1";  
		name2 = "value2";  
	}/*使用表参数批量设置 Cookie，参数 @1 不能是数组（或者包含数组成员的表）。  
- 可用 url 指定网址,或者用 domain 字段指定域名（可选用 path 字段指定路径）。  
- 可选用 expires 字段指定过期时间（可指定 time.gmt 支持的参数），数值表示过期天数。  
- cookies 字段可指定包含名值对的表（table）或者字符串（用等号分隔名值，用分号分隔不同 cookie 项）。  
Cookie 值会自动调用 tostring 转换为字符串。*/  
})
```

### inet.setCookie(urlOrDomain,cookieData) <a id="inet.setCookie" href="#inet.setCookie">&#x23;</a>
设定指定网址（或域名）的 Cookie，  
指定 `example.com` 对 `*.example.com` 生效（不要在前面加 `.` 符号）。  
参数 @cookieData 用一个表指定要设置的 Cookie 参数。  
可指定 name,value,expires 字段。  
name,value 至少要指定其中一个。  
expires 为可选字段，支持 time.gmt 参数兼容的时间格式（数值表示时间戳）。  
如果不指定 expires 则仅设置会话 Cookie，否则设置为持久 Cookie。

### inet.setCookie(urlOrDomain,value,name,expiresOrDays) <a id="inet.setCookie" href="#inet.setCookie">&#x23;</a>
设定指定网址（或域名）的 Cookie，  
指定 `example.com` 对 `*.example.com` 生效（不要在前面加 `.` 符号）。  
参数 @1 指定 Cookie 生效的网址，也可以仅指定域名。  
如果不指定 @value 则删除删除指定名字的会话 cookie 与持久 Cookie。  
如果指定 @value 与 @name 则设置 Cookie。  
参数 @value 与 @name 可以合并写为一个 "name=value" 格式的字符串。  
如果不指定过期时间则仅设置会话 Cookie，否则设置为持久 Cookie。  
可选用 expiresOrDays 指定过期时间（可传入 time.gmt 参数支持的格式），数值表示过期天数

### inet.setCookie(wb) <a id="inet.setCookie" href="#inet.setCookie">&#x23;</a>
等价于调用 `inet.setCookie( wb.getCookies() )` 。参数 @wb 必须指定提供 getCookies 方法的对象，  

这通常指的是 web.view。  
web.view 提供 getCookies 方法调用 wb.cdp 获取浏览器控件的 Cookies 。  
getCookies 可返回 inet.setCookie 支持的参数 @cookieArray 或 @params   
也可以返回 null 值（inet.setCookie 也会返回 null,不执行其他操作）。

### inet.setProxy <a id="inet.setProxy" href="#inet.setProxy">&#x23;</a>
修改同一进程内的默认代理设置  
对同一进程内的web.form,inet.http有效  
设置系统代理请使用 inet.conn.setProxy 函数

### inet.setProxy("IE") <a id="inet.setProxy" href="#inet.setProxy">&#x23;</a>
修改进程内默认代理设置为使用IE代理设置  
此参数为默认值,可省略

### inet.setProxy("代理服务器地址:端口","绕过代理地址") <a id="inet.setProxy" href="#inet.setProxy">&#x23;</a>
设置所有协议走 HTTP 代理服务器，  

└── 指定 SOCKS 代理格式："socks=代理服务器地址:端口"   
└──  [代理格式说明](https://www.aardio.com/zh-cn/docs/library-guide/std/inet/proxy.html)  
绕过代理地址已自动设置，建议省略保持默认即可。

### inet.setProxy(false) <a id="inet.setProxy" href="#inet.setProxy">&#x23;</a>
修改进程内默认代理设置为不使用代理

### inet.setProxyAuth("用户名","密码") <a id="inet.setProxyAuth" href="#inet.setProxyAuth">&#x23;</a>
设置inet.http默认代理登录信息  
该设置在进程内有效

## inetcacheentryObject 成员列表 <a id="inetcacheentryObject" href="#inetcacheentryObject">&#x23;</a>

### inetcacheentryObject.cacheEntryType <a id="inetcacheentryObject.cacheEntryType" href="#inetcacheentryObject.cacheEntryType">&#x23;</a>
缓存入口类型

### inetcacheentryObject.expireTime <a id="inetcacheentryObject.expireTime" href="#inetcacheentryObject.expireTime">&#x23;</a>
入口到期时间

### inetcacheentryObject.fileExtension <a id="inetcacheentryObject.fileExtension" href="#inetcacheentryObject.fileExtension">&#x23;</a>
文件扩展(相当于将信息文件备份)

### inetcacheentryObject.fileName <a id="inetcacheentryObject.fileName" href="#inetcacheentryObject.fileName">&#x23;</a>
缓存的本地文件名  
使用string.load()函数可以读取缓存内容

### inetcacheentryObject.headerInfo <a id="inetcacheentryObject.headerInfo" href="#inetcacheentryObject.headerInfo">&#x23;</a>
Internet缓存信息头的地址

### inetcacheentryObject.headerInfoSize <a id="inetcacheentryObject.headerInfoSize" href="#inetcacheentryObject.headerInfoSize">&#x23;</a>
Internet缓存信息头的信息大小

### inetcacheentryObject.lastAccessTime <a id="inetcacheentryObject.lastAccessTime" href="#inetcacheentryObject.lastAccessTime">&#x23;</a>
最后一次访问的时间

### inetcacheentryObject.lastModifiedTime <a id="inetcacheentryObject.lastModifiedTime" href="#inetcacheentryObject.lastModifiedTime">&#x23;</a>
最后一次修改的时间

### inetcacheentryObject.lastSyncTime <a id="inetcacheentryObject.lastSyncTime" href="#inetcacheentryObject.lastSyncTime">&#x23;</a>
最后一次与服务器同步的时间

### inetcacheentryObject.reserved.exemptDelta <a id="inetcacheentryObject.reserved.exemptDelta" href="#inetcacheentryObject.reserved.exemptDelta">&#x23;</a>
豁免时间,跟最后访问时间有关

### inetcacheentryObject.sizeHigh <a id="inetcacheentryObject.sizeHigh" href="#inetcacheentryObject.sizeHigh">&#x23;</a>
文件大小的高位

### inetcacheentryObject.sizeLow <a id="inetcacheentryObject.sizeLow" href="#inetcacheentryObject.sizeLow">&#x23;</a>
文件大小的低位

### inetcacheentryObject.url <a id="inetcacheentryObject.url" href="#inetcacheentryObject.url">&#x23;</a>
URL地址名  
如果是Cookie文件,  
则可使用inet.getCookie()读取Cookie内容.

### inetcacheentryObject.useCount <a id="inetcacheentryObject.useCount" href="#inetcacheentryObject.useCount">&#x23;</a>
当前用户使用缓存的次数

### 全局常量

### ::InternetCloseHandle <a id="::InternetCloseHandle" href="#::InternetCloseHandle">&#x23;</a>
`::Wininet.api("InternetCloseHandle","bool(POINTER hInet)")`

### ::InternetConnect <a id="::InternetConnect" href="#::InternetConnect">&#x23;</a>
`::Wininet.api("InternetConnect","pointer(POINTER hInet,ustring serverName,INT serverPort,ustring userName,ustring password,INT service,INT flags,INT context)")`

### ::InternetOpen <a id="::InternetOpen" href="#::InternetOpen">&#x23;</a>
`::Wininet.api("InternetOpen","pointer(ustring agent,INT accessType,ustring proxy,ustring proxyBypass,INT flags)" )`

### ::InternetQueryOption <a id="::InternetQueryOption" href="#::InternetQueryOption">&#x23;</a>
`::Wininet.api("InternetQueryOptionW","bool(pointer hInet,INT option,struct &buffer,INT &length)")`

### ::InternetSetOption <a id="::InternetSetOption" href="#::InternetSetOption">&#x23;</a>
`::Wininet.api("InternetSetOptionW","bool(pointer hInet,INT opt,struct buffer,INT len)")`

### ::InternetSetOptionPtr <a id="::InternetSetOptionPtr" href="#::InternetSetOptionPtr">&#x23;</a>
`::Wininet.api("InternetSetOptionW","bool(pointer hInet,INT opt,pointer buffer,INT len)")`

### 自动完成常量
_COOKIE_CACHE_ENTRY=0x100000  
_EDITED_CACHE_ENTRY=0x8  
_HTTP_QUERY_ACCEPT=0x18  
_HTTP_QUERY_CONTENT_LENGTH=0x5  
_HTTP_QUERY_CONTENT_TYPE=0x1  
_HTTP_QUERY_EXPIRES=0xA  
_HTTP_QUERY_FLAG_NUMBER=0x20000000  
_HTTP_QUERY_FLAG_REQUEST_HEADERS=0x80000000  
_HTTP_QUERY_FLAG_SYSTEMTIME=0x40000000  
_HTTP_QUERY_FORWARDED=0x1E  
_HTTP_QUERY_LAST_MODIFIED=0xB  
_HTTP_QUERY_PRAGMA=0x11  
_HTTP_QUERY_RAW_HEADERS=0x15  
_HTTP_QUERY_RAW_HEADERS_CRLF=0x16  
_HTTP_QUERY_REQUEST_METHOD=0x2D  
_HTTP_QUERY_SET_COOKIE=0x2B  
_HTTP_QUERY_STATUS_CODE=0x13  
_HTTP_QUERY_STATUS_TEXT=0x14  
_HTTP_QUERY_VERSION=0x12  
_HTTP_QUERY_WARNING=0x43  
_HTTP_STATUS_DENIED=0x191  
_HTTP_STATUS_PROXY_AUTH_REQ=0x197  
_INTERNET_DEFAULT_FTP_PORT=0x15  
_INTERNET_DEFAULT_GOPHER_PORT=0x46  
_INTERNET_DEFAULT_HTTPS_PORT=0x1BB  
_INTERNET_DEFAULT_HTTP_PORT=0x50  
_INTERNET_DEFAULT_SOCKS_PORT=0x438  
_INTERNET_ERROR_BASE=0x2EE0  
_INTERNET_FLAG_CACHE_IF_NET_FAIL=0x10000  
_INTERNET_FLAG_DONT_CACHE=0x4000000  
_INTERNET_FLAG_HYPERLINK=0x400  
_INTERNET_FLAG_KEEP_CONNECTION=0x0  
_INTERNET_FLAG_KEEP_CONNECTIONN=0x400000  
_INTERNET_FLAG_RELOAD=0x80000000  
_INTERNET_FLAG_SECURE=0x800000  
_INTERNET_INVALID_PORT_NUMBER=0x0  
_INTERNET_OPEN_TYPE_DIRECT=0x1  
_INTERNET_OPEN_TYPE_PRECONFIG=0x0  
_INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY=0x4  
_INTERNET_OPEN_TYPE_PROXY=0x3  
_INTERNET_OPTION_ACTIVATE_WORKER_THREADS=0x5C  
_INTERNET_OPTION_ALTER_IDENTITY=0x50  
_INTERNET_OPTION_ASYNC=0x1E  
_INTERNET_OPTION_ASYNC_ID=0xF  
_INTERNET_OPTION_ASYNC_PRIORITY=0x10  
_INTERNET_OPTION_AUTH_FLAGS=0x55  
_INTERNET_OPTION_AUTODIAL_CONNECTION=0x53  
_INTERNET_OPTION_AUTODIAL_MODE=0x52  
_INTERNET_OPTION_BYPASS_EDITED_ENTRY=0x40  
_INTERNET_OPTION_CACHE_STREAM_HANDLE=0x1B  
_INTERNET_OPTION_CACHE_TIMESTAMPS=0x45  
_INTERNET_OPTION_CALLBACK=1  
_INTERNET_OPTION_CALLBACK_FILTER=0x36  
_INTERNET_OPTION_CLIENT_CERT_CONTEXT=0x54  
_INTERNET_OPTION_CODEPAGE=0x44  
_INTERNET_OPTION_CODEPAGE_EXTRA=0x65  
_INTERNET_OPTION_CODEPAGE_PATH=0x64  
_INTERNET_OPTION_CONNECTED_STATE=0x32  
_INTERNET_OPTION_CONNECT_BACKOFF=4  
_INTERNET_OPTION_CONNECT_LIMIT=0x2E  
_INTERNET_OPTION_CONNECT_RETRIES=3  
_INTERNET_OPTION_CONNECT_TIME=0x37  
_INTERNET_OPTION_CONNECT_TIMEOUT=2  
_INTERNET_OPTION_CONTEXT_VALUE=0x2D  
_INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT=6  
_INTERNET_OPTION_CONTROL_SEND_TIMEOUT=5  
_INTERNET_OPTION_COOKIES_3RD_PARTY=0x56  
_INTERNET_OPTION_DATAFILE_EXT=0x60  
_INTERNET_OPTION_DATAFILE_NAME=0x21  
_INTERNET_OPTION_DATA_RECEIVE_TIMEOUT=8  
_INTERNET_OPTION_DATA_SEND_TIMEOUT=7  
_INTERNET_OPTION_DIAGNOSTIC_SOCKET_INFO=0x43  
_INTERNET_OPTION_DIGEST_AUTH_UNLOAD=0x4C  
_INTERNET_OPTION_DISABLE_AUTODIAL=0x46  
_INTERNET_OPTION_DISABLE_PASSPORT_AUTH=0x57  
_INTERNET_OPTION_DISCONNECTED_TIMEOUT=0x31  
_INTERNET_OPTION_ENABLE_PASSPORT_AUTH=0x5A  
_INTERNET_OPTION_END_BROWSER_SESSION=0x2A  
_INTERNET_OPTION_ERROR_MASK=0x3E  
_INTERNET_OPTION_EXEMPT_CONNECTION_LIMIT=0x59  
_INTERNET_OPTION_EXTENDED_ERROR=0x18  
_INTERNET_OPTION_FROM_CACHE_TIMEOUT=0x3F  
_INTERNET_OPTION_HANDLE_TYPE=9  
_INTERNET_OPTION_HIBERNATE_INACTIVE_WORKER_THREADS=0x5B  
_INTERNET_OPTION_HTTP_DECODING=0x41  
_INTERNET_OPTION_HTTP_VERSION=0x3B  
_INTERNET_OPTION_IDENTITY=0x4E  
_INTERNET_OPTION_IDLE_STATE=0x33  
_INTERNET_OPTION_IDN=0x66  
_INTERNET_OPTION_IGNORE_OFFLINE=0x4D  
_INTERNET_OPTION_KEEP_CONNECTION=0x16  
_INTERNET_OPTION_LISTEN_TIMEOUT=0xB  
_INTERNET_OPTION_MAX_CONNS_PER_1_0_SERVER=0x4A  
_INTERNET_OPTION_MAX_CONNS_PER_PROXY=0x67  
_INTERNET_OPTION_MAX_CONNS_PER_SERVER=0x49  
_INTERNET_OPTION_OFFLINE_MODE=0x1A  
_INTERNET_OPTION_OFFLINE_SEMANTICS=0x34  
_INTERNET_OPTION_PARENT_HANDLE=0x15  
_INTERNET_OPTION_PASSWORD=0x1D  
_INTERNET_OPTION_PER_CONNECTION_OPTION=0x4B  
_INTERNET_OPTION_POLICY=0x30  
_INTERNET_OPTION_PROXY=0x26  
_INTERNET_OPTION_PROXY_PASSWORD=0x2C  
_INTERNET_OPTION_PROXY_SETTINGS_CHANGED=0x5F  
_INTERNET_OPTION_PROXY_USERNAME=0x2B  
_INTERNET_OPTION_READ_BUFFER_SIZE=0xC  
_INTERNET_OPTION_RECEIVE_THROUGHPUT=0x39  
_INTERNET_OPTION_RECEIVE_TIMEOUT=6  
_INTERNET_OPTION_REFRESH=0x25  
_INTERNET_OPTION_REMOVE_IDENTITY=0x4F  
_INTERNET_OPTION_REQUEST_FLAGS=0x17  
_INTERNET_OPTION_REQUEST_PRIORITY=0x3A  
_INTERNET_OPTION_RESET_URLCACHE_SESSION=0x3C  
_INTERNET_OPTION_RESTORE_WORKER_THREAD_DEFAULTS=0x5D  
_INTERNET_OPTION_SECONDARY_CACHE_KEY=0x35  
_INTERNET_OPTION_SECURITY_CERTIFICATE=0x23  
_INTERNET_OPTION_SECURITY_CERTIFICATE_STRUCT=0x20  
_INTERNET_OPTION_SECURITY_FLAGS=0x1F  
_INTERNET_OPTION_SECURITY_KEY_BITNESS=0x24  
_INTERNET_OPTION_SECURITY_SELECT_CLIENT_CERT=0x2F  
_INTERNET_OPTION_SEND_THROUGHPUT=0x38  
_INTERNET_OPTION_SEND_TIMEOUT=5  
_INTERNET_OPTION_SEND_UTF8_SERVERNAME_TO_PROXY=0x58  
_INTERNET_OPTION_SERVER_CERT_CHAIN_CONTEXT=0x69  
_INTERNET_OPTION_SETTINGS_CHANGED=0x27  
_INTERNET_OPTION_SOCKET_SEND_BUFFER_LENGTH=0x5E  
_INTERNET_OPTION_SUPPRESS_BEHAVIOR=0x51  
_INTERNET_OPTION_SUPPRESS_SERVER_AUTH=0x68  
_INTERNET_OPTION_URL=0x22  
_INTERNET_OPTION_USERNAME=0x1C  
_INTERNET_OPTION_USER_AGENT=0x29  
_INTERNET_OPTION_VERSION=0x28  
_INTERNET_OPTION_WRITE_BUFFER_SIZE=0xD  
_INTERNET_PER_CONN_FLAGS=0x1  
_INTERNET_PER_CONN_PROXY_BYPASS=0x3  
_INTERNET_PER_CONN_PROXY_SERVER=0x2  
_INTERNET_SERVICE_FTP=0x1  
_INTERNET_SERVICE_GOPHER=0x2  
_INTERNET_SERVICE_HTTP=0x3  
_INTERNET_SUPPRESS_RESET_ALL=0x0  
_MAX_CACHE_ENTRY_INFO_SIZE=4096  
_NORMAL_CACHE_ENTRY=0x1  
_PROXY_TYPE_DIRECT=0x1  
_PROXY_TYPE_PROXY=0x2  
_SPARSE_CACHE_ENTRY=0x10000  
_STICKY_CACHE_ENTRY=0x4  
_TRACK_OFFLINE_CACHE_ENTRY=0x10  
_TRACK_ONLINE_CACHE_ENTRY=0x20  
_URLCACHE_FIND_DEFAULT_FILTER=0x300035  
_URLHISTORY_CACHE_ENTRY=0x200000  
