HttpClient
通过 VDN 组件的 HttpClient 功能可以方便的同 Web 服务端进行交互,获取和发送数据,
支持 以 GET、POST、PUT 方法访问 http/https 协议
属性
| 属性 | 说明 | 自动重置 |
|---|---|---|
| Referer | 设置请求 Header 的 Referer 属性值,告知服务器访问的来源页面 | 是 |
| UserAgent | 设置请求的 userAgent 值 | 是 |
| ContentType | 设置发送内容的类型, 默认:application/x-www-form-urlencoded 预设类型(Constant): | 是 |
| Accept | 设定接收服务器端返回的数据的格式(Content-Type) 默认:空 同 ContentType 的预设类型 | 是 |
| RtnEncoding | 设置返回内容的编码方式,组件将根据该设置进行转换 默认 GB2312 预设类型: | 是 |
| KeepCookie | 保留上次请求的 Cookie 默认 True | 是 |
| CAFile | 指定 CA 文件,包含 CA 文件的路径及文件名 | 是 |
| CertType | 证书类型("PEM","DER","ENG") 默认: PEM | 是 |
| CertFile | 证书文件,包含 Cert 文件的路径及文件名 | 是 |
| CertPW | 证书密码 | 是 |
| SSLKeyType | 私钥类型("PEM","DER","ENG") 默认: PEM | 是 |
| SSLKeyFile | 私钥文件,包含私钥文件的路径及文件名 | 是 |
| SSLKeyPW | 私钥密码 | 是 |
| ResponseCharset | 获取 Web 响应的编码方式 这里获取的是服务器端返回的原始编码方式,通过 HttpClient 获取的是根据 DefEncoding 属性值转换后的编码 | 否 |
| HeaderList | 获取 Web 响应的 Header 列表 | 否 |
| CookieList | 获取 Web 响应的 Cookie 列表 | 否 |
| ContentLength | 获取 Web 响应的内容长度 | 否 |
| hc_autoReset | 在每次请求之后自动执行 hc_reset 函数重置属性 默认:True | 否 |
| hc_Async | 是否执行异步操作 | 否 |
| hc_Event | 异步操作时是否接收事件通知。在异步操作下,只有在异步事件里才能获取返回值。 触发的事件包括: | 否 |
| TokenIdent | 携带令牌时的 ID 值(For VDN Web API) 默认 Token | 否 |
| Token | 令牌值(For VDN Web API) ,GetToken()函数将自动设置该值 | 否 |
| ApiURL | VDN WebAPI 的范文入口,供 GetToken(...)函数使用,举例:api | 否 |
| hc_conTimeout | 连接超时时间(秒) 0 保持默认 | 否 |
| hc_timeout | http 请求总超时时间 0 不计超时 | 否 |
| hc_autoRelase | 是否贼每次请求执行之后自动释放 HttpClient 对象 默认:True 在 WebApp 等多线程的情况下使用该属性必须设置为 True,在 PB 单线程程序里可以设置为 False,这样可以减少对每个 URL 的重复解析。 | 否 |
重置
当 hc_autoReset=True 时,请求完成后将自动执行 hc_reset()函数将属性进行重置,设置为默认值
函数
与 HttpClient 相关的函数基本都是以 hc_开头的
函数中使用的键值是区分大小写的
| 函数 | 参数 | 说明 |
|---|---|---|
| hc_get | string url Web 服务器的 URL 地址 string out 服务器返回的内容(Ref) | 以 Get 方式向服务器端请求数据 返回 1 成功 -1 失败 |
| hc_post | string url Web 服务器的 URL 地址 string in 发送给 Web 服务器的内容 string out 服务器返回的内容(Ref) | 以 Post 方式向服务器端请求数据 返回 1 成功 -1 失败 |
| hc_post_json | string url Web 服务器的 URL 地址 string json 发送给 Web 服务器的 JSON string out 服务器返回的内容(Ref) | 以 Post 方式向服务器发送 JSON 格式数据; 等同于先设置 ContentType=ContentType_JSON 再调用 hc_post(...) 函数 返回 1 成功 -1 失败 |
| hc_request_str | string url Web 服务器的 URL 地址 string in 发送给 Web 服务器的内容 string out 服务器返回的内容(Ref) | 以指定的方式向服务器请求数据,并进行编码转换 hc_get、hc_post 调用的都是该函数 返回 1 成功 -1 失败 |
| hc_request | string url Web 服务器的 URL 地址 blob in 发送给 Web 服务器的内容 blob out 服务器返回的内容(Ref) | 核心函数,hc_request_str 函数最终都是调用这个函数。 向服务器端发起请求,并返回数据。 返回 1 成功 -1 失败 |
| hc_upfile | string url 服务器 URL 【必须】 string file 要上传文件的全路径 【必须】 string name 文件标签名,例如 file 或 t_file 【可选】 string out 返回内容(ref)【可选】 | 上传一个文件到服务器 |
| hc_upfile | string url 服务器 URL 【必须】 blob file 要上传 BLOB 数据 【必须】 string filename 上传后的文件名 【可选】 string name 文件标签名,例如 file 或 t_file 【可选】 string out 返回内容(ref) 【可选】 | 上传 Blob 数据到服务器 |
| hc_setValue | value string name 标签名 value string value 值 | 设置 form data 值 配合 hc_post 或 hc_upfile 使用 |
| hc_setForm | string name 标签名 string key 属性,不区分大小写 string value 字段值 | 设置 form data 的属性值 可以分多次设置,来完成一个标签的完整值 例如: hc_setform("file1","type","image/png") //指明上传那文件的类型 uo_vdn.hc_setform("file","FILENAME","abc.png") //指明上传文件的名称,可以和源文件名称不同 |
| hc_getCookiee | string key 键值 | 分析服务器返回的 CookieList 获取键值对应的值 无对应值返回空 |
| hc_setCookie | string key 键值 string value 值 | 设置请求的 Cookie 值 举例: uo_vdn.hc_setCookie("UID","9999") |
| hc_getHeader | string key 键值 | 分析服务器返回的 HeaderList 获取键值对应的值 无对应值返回空 |
| hc_setHeader | string key 键值 string value 值 | 设置响应的 Header 值 举例: uo_vdn.hc_setHeader("ABC","123") |
| hc_reset | 无 | 重置 HttpClient 相关的属性值 当 hc_autoReset=True 请求完成后将自动调用 |
| GetToken | string url (非必选)服务器 URL 地址,不带 API string key 服务器端的高级设置中设置的 TokenKey | 从 VDN WebAPI 服务器端获取令牌 参数 url 只要指明服务器的地址即可 例如:http://www.xxx.net:8088/ 当初始化了 URL 属性则不需要带有该参数。 API 子路径由 ApiURL 属性指定。 |
示例代码
示例代码
位置: Example\PB 演示示例\VDNDemo.pbw
对象: w_httpClient

