已绑定手机签到天数: 273 天 [LV.8]以坛为家I
|
据统计90%查看本帖的人,都已经注册本站了哦
您需要 登录 才可以下载或查看,没有账号?立即注册
x
【避坑指南】WinHTTP5_1 中的 WinHttp程序 的 网页访问
------ Encounted exception:
Code: 0
Source: WinHttp.WinHttpRequest
Description: 安全频道支持出错
这2个需要屏蔽掉 不然的话 遇到HTTP2的网站是会出现 安全频道支持出错 的问题
- 验证证书 = 是否以文本开头 (网址, "https://", 假)
- 置SSL版本 (真, 真, 真)
复制代码
- <火山程序 类型 = "通常" 版本 = 1 />
- 方法 网页访问 <公开 类型 = 逻辑型 注释 = "访问网页资源,成功返回真,失败返回假." 注释 = "如果WinHttpRequest对象尚未创建,将自动创建." 折叠 "" "">
- 参数 网址 <类型 = 文本型 注释 = "完整的网页地址,必须包含"http://"或者"https://".">
- 参数 访问方式 <类型 = WinHttp访问方式 注释 = "WinHttp访问方式.*" @默认值 = WinHttp访问方式.GET>
- 参数 文本提交 <类型 = 文本型 注释 = "二选一 "POST"专用,提交文本型数据,为空文本时忽略该参数." @默认值 = "">
- 参数 字节集提交 <类型 = 字节集类 注释 = "二选一 "POST"专用,提交字节集数据,默认为忽略该参数." @默认值 = 空对象>
- 参数 提交Cookie <类型 = 文本型 注释 = "设置提交时的cookie,为空文本表示无." @默认值 = "">
- 参数 合并Cookie <类型 = 逻辑型 注释 = "当设置需要返回Cookie时("返回协议头"参数不为默认值),指定是否将"提交Cookie"和访问后获得的Cookie合并到一起返回."
- @默认值 = 真>
- 参数 附加协议头 <类型 = 文本型 注释 = "多协议头请用换行符隔开,以换行符"\\r\\n"分隔,以"头名称"+": "+"值"为内容的形式." @默认值 = "">
- 参数 补全协议头 <类型 = 逻辑型 注释 = "设置是否自动添加必要的协议头,如果值为假,则不添加非传入协议头." @默认值 = 真>
- 参数 允许重定向 <类型 = 逻辑型 注释 = "指定访问网页时是否允许自动重定向" @默认值 = 假>
- 参数 代理地址 <类型 = 文本型
- 注释 = "代理地址,格式为 8.8.8.8:88,如果值不为空文本,则根据"代理地址"、"代理标识"、"代理账号"、"代理密码"指定相关参数进行设置代理服务器." @默认值 = "">
- 参数 代理标识 <类型 = WinHttp代理标识 注释 = "设置代理方式或登录服务器方式,如果"代理地址"的值为空文本,则忽略该参数." @默认值 = WinHttp代理标识.代理>
- 参数 代理账号 <类型 = 文本型 注释 = "代理账号,如果"代理地址"的值为空文本,则忽略该参数." @默认值 = "">
- 参数 代理密码 <类型 = 文本型 注释 = "代理密码,如果"代理地址"的值为空文本,则忽略该参数." @默认值 = "">
- 参数 超时 <类型 = 整数 注释 = "以毫秒为单位,设置用于超时时间.默认为15000毫秒即15秒,-1为无限等待." @默认值 = 15000>
- 参数 返回Cookie <类型 = 文本型
- 注释 = "用于取回访问结果所带Cookies,如"合并Cookie"为真时,则将传入Cookie和返回Cookie合并一起并返回,请传递用于接收返回Cookie的文本变量. 仅当方法返回真时有效."
- @默认值 = 空对象>
- 参数 返回协议头 <类型 = 文本型 注释 = "用于取回访问结果所带协议头,请传递用于接收协议头的文本变量. 仅当方法返回真时有效." @默认值 = 空对象>
- 参数 返回状态码 <类型 = 整数类 注释 = "用于取回响应返回的状态码. 仅当方法返回真时有效." @默认值 = 空对象>
- 参数 返回字节集 <类型 = 字节集类 注释 = "用于取回访问后所得到的字节集数据. 仅当方法返回真时有效." @默认值 = 空对象>
- {
- 变量 局_是否成功 <类型 = 逻辑型>
- 如果 (打开 (网址, 访问方式, ) == 假) // 访问第一步使用打开方法
- {
- 返回 (假) // 打开失败
- }
- 置超时时间 (超时, 超时, 超时, 超时)
- 置代理 (WinHttp代理标志.代理, 代理地址, )
- 置代理凭证 (代理标识, 代理账号, 代理密码)
- 如果 (代理标识 == WinHttp代理标识.代理)
- {
- 置协议头 ("Proxy-Authorization", "Basic " + 字节集到BASE64文本 (文本到多字节 (代理账号 + ":" + 代理密码, 假), , )) // 设置协议头代理方式
- }
- 否则
- {
- 删除协议头 ("Proxy-Authorization")
- }
- 重定向 = 允许重定向
- // 验证证书 = 是否以文本开头 (网址, "https://", 假)
- 置忽略证书 (真, 真, 真, 真)
- // 置SSL版本 (真, 真, 真)
- 如果 (补全协议头) // 设置默认协议头
- {
- 置协议头 ("Accept", "*/*")
- 置协议头 ("Referer", 网址)
- 置协议头 ("Accept-Language", "zh-cn")
- 置协议头 ("User-Agent", "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)")
- 如果 (访问方式 == WinHttp访问方式.POST)
- {
- 置协议头 ("Content-Type", "application/x-www-form-urlencoded")
- }
- }
- 置协议头 (, 附加协议头)
- 置Cookie (提交Cookie)
- 如果 (文本提交 != "")
- {
- 局_是否成功 = 发送文本 (文本提交)
- }
- 否则
- {
- 如果 (字节集提交.是否为空对象 () == 假)
- {
- 局_是否成功 = 发送字节集 (字节集提交)
- }
- 否则
- {
- 局_是否成功 = 发送 ()
- }
- }
- 如果 (局_是否成功 == 假)
- {
- 返回 (假) // 执行发送失败,直接返加空字节集.
- }
- 如果 (返回状态码.是否为空对象 () == 假)
- {
- 返回状态码.值 = (整数)状态码
- }
- 如果 (文本是否为空对象 (返回Cookie) == 假)
- {
- 如果 (合并Cookie && 提交Cookie != "")
- {
- 返回Cookie = 合并Cookie (提交Cookie, 取Cookie ())
- }
- 否则
- {
- 返回Cookie = 取Cookie ()
- }
- }
- 如果 (文本是否为空对象 (返回协议头) == 假)
- {
- 返回协议头 = 取响应头 ()
- }
- 如果 (返回字节集.是否为空对象 () == 假)
- {
- 返回字节集 = 响应字节集
- }
- 返回 (真)
- }
复制代码
|
评分
-
查看全部评分
|