|
网页访问底层 | 字节集 | |
|
网址 | 文本型 | | | |
访问方式 | 文本型 | | | | 提交信息 | 文本型 | | | | 提交Cookies | 文本型 | | | | 返回Cookies | 文本型 | | | | 附加协yi头 | 文本型 | | | | 返回协yi头 | 文本型 | | | | 禁止重定向 | 逻辑型 | | | | 超时 | 整数型 | | | | 代理地址 | 文本型 | | | | 用户名 | 文本型 | | | | 密码 | 文本型 | | | | 代理标识 | 整数型 | | | | 完整协yi头 | 文本型 | | | | 字节集提交 | 字节集 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 |
局部_WinHttp | 对象 | | |
局部_返回Cookies | 文本型 | | 0 |
局部_计次 | 整数型 | | |
局部_网页数据 | 字节集 | | |
局部_发送协yi头 | 文本型 | | 0 |
局部_协yi头处理 | 文本型 | | 0 |
局部_变体提交 | 变体型 | | |
CoInitialize (0
)
如果真 (局部_WinHttp.
创建 (“WinHttp.WinHttpRequest.5.1”,
) =
假)
返回 ({ })
访问方式 =
到大写 (访问方式
)
如果真 (访问方式 =
“”)
访问方式 =
“GET”
如果真 (超时 ≠ -1
)
如果 (超时 < 1
)

超时 = 15000


超时 = 超时 × 1000
局部_WinHttp.方法 (“SetTimeouts”, 超时, 超时, 超时, 超时)
如果真 (代理地址 ≠
“”)
局部_WinHttp.
方法 (“SetProxy”, 2, 代理地址
)
如果真 (用户名 ≠
“”)

如果真 (是否为空 (代理标识
))



代理标识 = 1

局部_WinHttp.方法 (“SetProxyCredentials”, 用户名, 密码, 代理标识)
局部_WinHttp.方法 (“Open”, 访问方式, 网址, 假)
如果真 (禁止重定向
)
局部_WinHttp.
写属性 (“Option”, 6, 0
)
如果真 (附加协yi头 =
“”)
附加协yi头 =
“Referer: ” + 网址 +
#换行符 +
#协yi头_网页 
如果真 (提交Cookies ≠
“”)
局部_WinHttp.
方法 (“SetRequestHeader”,
“Cookie”, 提交Cookies
)
判断 (寻找文本 (附加协yi头,
#换行符, ,
假) > -1
)
局部_发送协yi头 =
分割文本 (附加协yi头,
#换行符, )
计次循环首 (取数组成员数 (局部_发送协yi头
), 局部_计次
)

如果真 (寻找文本 (局部_发送协yi头
[局部_计次
],
“:”, ,
假) > -1
)

清除数组 (局部_协yi头处理
)


局部_协yi头处理 =
分割文本 (局部_发送协yi头
[局部_计次
],
“:”,
)


局部_计次 = 2



判断循环首 (真)



局部_计次 = 局部_计次 + 1




如果真 (局部_计次 >
取数组成员数 (局部_协yi头处理
))




跳出循环 ()


局部_协yi头处理 [2] = 局部_协yi头处理 [2] + “:” + 局部_协yi头处理 [局部_计次]


判断循环尾 ()


局部_WinHttp.
方法 (“SetRequestHeader”, 局部_协yi头处理
[1
], 局部_协yi头处理
[2
])



计次循环尾 ()
如果真 (寻找文本 (附加协yi头,
“:”, ,
假) > -1
)

局部_协yi头处理 =
分割文本 (附加协yi头,
“:”,
)

局部_计次 = 2


判断循环首 (真)


局部_计次 = 局部_计次 + 1



如果真 (局部_计次 >
取数组成员数 (局部_协yi头处理
))



跳出循环 ()

局部_协yi头处理 [2] = 局部_协yi头处理 [2] + “:” + 局部_协yi头处理 [局部_计次]

判断循环尾 ()

局部_WinHttp.
方法 (“SetRequestHeader”, 局部_协yi头处理
[1
], 局部_协yi头处理
[2
])


判断 (字节集提交 =
{ })
局部_WinHttp.
方法 (“Send”, 提交信息
)
局部_变体提交.
赋值 (字节集提交,
)
局部_WinHttp.
方法 (“Send”, 局部_变体提交
)局部_网页数据 = 局部_WinHttp.读属性 (“ResponseBody”, ).取字节集 ()完整协yi头 = 局部_WinHttp.
读文本属性 (“GetallResponseHeaders”,
)局部_返回Cookies =
分割文本 (完整协yi头,
#换行符, )返回Cookies =
“”
计次循环首 (取数组成员数 (局部_返回Cookies
), 局部_计次
)
如果真 (寻找文本 (局部_返回Cookies
[局部_计次
],
“Location:”, ,
假) > -1
)

返回协yi头 =
删首尾空 (子文本替换 (局部_返回Cookies
[局部_计次
],
“Location:”, , , 1,
假))



如果真 (寻找文本 (局部_返回Cookies
[局部_计次
],
“Set-Cookie”, ,
假) > -1
)

返回Cookies = 返回Cookies +
删首尾空 (文本_取出中间文本 (局部_返回Cookies
[局部_计次
],
“Set-Cookie:”,
“;”)) +
“; ”

计次循环尾 ()
如果真 (返回协yi头 =
“”)
返回协yi头 = 完整协yi头
CoUninitialize ()返回 (局部_网页数据
)