开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3552|回复: 10
收起左侧

[已解决] 网页访问对象post中的超时设置没用?

 关闭 [复制链接]
结帖率:97% (144/148)
发表于 2021-5-27 14:54:39 | 显示全部楼层 |阅读模式   重庆市重庆市
5精币
QQ截图20210527144841.jpg 网页访问对象post中的超时设置没用? 这个已经了解是代理服务器的超时时间  不是直接的超时时间


对方服务器高峰时期反应慢,平时响应返回谁几百-2000毫秒,高峰时期超过20 30秒或者一直没返回

怎么判断返回时间 超过5000毫秒 我就准备断掉post 然后重新提交了  而不是等几十秒后无返回再去重新post了

  
子程序名:网页_访问_对象
使用WinHttp的对象方式访问网页
返回值类型:字节集
参数<1>的名称为“网址”,类型为“文本型”。注明:完整的网页地址,必须包含http://或者https://。
参数<2>的名称为“访问方式”,类型为“整数型”,允许接收空参数数据。注明:0=GET 1=POST 2=HEAD 3=PUT  4=OPTIONS  5=DELETE  6=TRACE  7=CONNECT。
参数<3>的名称为“提交信息”,类型为“文本型”,允许接收空参数数据。注明:"POST"专用   自动UTF8编码。
参数<4>的名称为“提交Cookies”,类型为“文本型”,接收参数数据时采用参考传递方式,允许接收空参数数据。注明:设置提交时的cookie。
参数<5>的名称为“返回Cookies”,类型为“文本型”,接收参数数据时采用参考传递方式,允许接收空参数数据。注明:返回的Cookie。
参数<6>的名称为“附加协议头”,类型为“文本型”,允许接收空参数数据。注明:一行一个请用换行符隔开。
参数<7>的名称为“返回协议头”,类型为“文本型”,接收参数数据时采用参考传递方式,允许接收空参数数据。注明:返回的协议头。
参数<8>的名称为“返回状态代码”,类型为“整数型”,接收参数数据时采用参考传递方式,允许接收空参数数据。注明:网页返回的状态代码,例如:200;302;404等。
参数<9>的名称为“禁止重定向”,类型为“逻辑型”,允许接收空参数数据。注明:默认不禁止网页重定向。
参数<10>的名称为“字节集提交”,类型为“字节集”,允许接收空参数数据。注明:提交字节集数据。
参数<11>的名称为“代理地址”,类型为“文本型”,允许接收空参数数据。注明:代理地址,格式为 8.8.8.8:88。
参数<12>的名称为“超时”,类型为“整数型”,允许接收空参数数据。注明:秒|默认为15秒,-1为无限等待。
参数<13>的名称为“代理用户名”,类型为“文本型”,允许接收空参数数据。注明:用户名。
参数<14>的名称为“代理密码”,类型为“文本型”,允许接收空参数数据。注明:密码。
参数<15>的名称为“代理标识”,类型为“整数型”,允许接收空参数数据。注明:代理标识,默认为1,0为路由器。
参数<16>的名称为“对象继承”,类型为“对象”,允许接收空参数数据。注明:此处可自行提供对象,不再主动创建。
参数<17>的名称为“是否自动合并更新Cookie”,类型为“逻辑型”,允许接收空参数数据。注明:默认为真,自动合并更新。
参数<18>的名称为“是否补全必要协议头”,类型为“逻辑型”,允许接收空参数数据。注明:当附件协议头为空时自动添加必要的UA协议头 默认为真,假将不再添加非传入协议头。
参数<19>的名称为“是否处理协议头大小写”,类型为“逻辑型”,允许接收空参数数据。注明:将协议头中的键名首字母处理为大写  默认为真。


QQ截图20210527145255.jpg

最佳答案

查看完整内容

内含 连接超时,发送超时

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值
结帖率:100% (75/75)

签到天数: 14 天

发表于 2021-5-27 14:54:40 | 显示全部楼层   吉林省长春市
内含 连接超时,发送超时

评分

参与人数 1荣誉 +1 收起 理由
项目部004 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:89% (8/9)

签到天数: 13 天

发表于 2021-5-27 15:24:37 | 显示全部楼层   福建省泉州市
注明:秒

单位不是秒么,你得输入2
回复

使用道具 举报

结帖率:97% (144/148)

签到天数: 1 天

 楼主| 发表于 2021-5-27 15:37:38 | 显示全部楼层   重庆市重庆市
maozaiba 发表于 2021-5-27 15:24
注明:秒

单位不是秒么,你得输入2

那个超时 是接着上一个参数 代理服务器的
代表的是 你post一个地址  通过代理服务器IP  代理服务器连接超时时间默认15秒

不是指直接post的超时时间   我直接改成1秒   post返回2000毫秒,5000毫秒 ,20000毫秒的结果依然存在

应该要从模块源码改
回复

使用道具 举报

结帖率:97% (144/148)

签到天数: 1 天

 楼主| 发表于 2021-5-27 16:14:26 | 显示全部楼层   重庆市重庆市
  
子程序名返回值类型公开备 注
网页_访问_对象字节集 使用WinHttp的对象方式访问网页
参数名类 型参考可空数组备 注
网址文本型完整的网页地址,必须包含http://或者https://
访问方式整数型0=GET 1=POST 2=HEAD 3=PUT  4=OPTIONS  5=DELETE  6=TRACE  7=CONNECT
提交信息文本型"POST"专用   自动UTF8编码
提交Cookies文本型设置提交时的cookie
返回Cookies文本型返回的Cookie
附加协议头文本型一行一个请用换行符隔开
返回协议头文本型返回的协议头
返回状态代码整数型网页返回的状态代码,例如:200;302;404等
禁止重定向逻辑型默认不禁止网页重定向
字节集提交字节集提交字节集数据
代理地址文本型代理地址,格式为 8.8.8.8:88
超时整数型秒|默认为15秒,-1为无限等待
代理用户名文本型用户名
代理密码文本型密码
代理标识整数型代理标识,默认为1,0为路由器
对象继承对象此处可自行提供对象,不再主动创建
是否自动合并更新Cookie逻辑型默认为真,自动合并更新
是否补全必要协议头逻辑型当附件协议头为空时自动添加必要的UA协议头 默认为真,假将不再添加非传入协议头
是否处理协议头大小写逻辑型将协议头中的键名首字母处理为大写  默认为真
变量名类 型静态数组备 注
局_访问方式文本型 
局_WinHttp对象 
局_发送协议头文本型0
局_返回协议头文本型0
局_计次整数型 
局_网页数据字节集 
局_变体提交变体型 
局_附加协议头文本型 
如果真 (是否为空 (是否自动合并更新Cookie))
是否自动合并更新Cookie = 真

如果真 (是否为空 (是否补全必要协议头))
是否补全必要协议头 = 真

如果真 (是否为空 (是否处理协议头大小写))
是否处理协议头大小写 = 真

线程_初始化COM库 ()
如果真 (访问方式 < 0 访问方式 > 7)
访问方式 = 0

局_访问方式 = 多项选择 (访问方式 + 1, “GET”, “POST”, “HEAD”, “PUT”, “OPTIONS”, “DELETE”, “TRACE”, “CONNECT”)
判断 (是否为空 (对象继承))
如果真 (局_WinHttp.创建 (“WinHttp.WinHttpRequest.5.1”, ))
返回 ({  })




局_WinHttp = 对象继承

如果真 (超时 ≠ -1)
如果 (超时 < 1)
超时 = 15000



超时 = 超时 × 1000

局_WinHttp.方法 (“SetTimeouts”, 超时, 超时, 超时, 超时)

如果真 (代理地址 ≠ “”)
局_WinHttp.方法 (“SetProxy”, 2, 代理地址)

局_WinHttp.方法 (“Open”, 局_访问方式, 网址, )
如果真 (禁止重定向)
局_WinHttp.写属性 (“Option”, 6, 0)

局_WinHttp.写属性 (“Option”, 4, 13056)  ' 忽略错误标志
局_附加协议头 = 附加协议头
如果真 (是否补全必要协议头)
如果真 (寻找文本 (局_附加协议头, “Accept:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“Accept: */*”

如果真 (寻找文本 (局_附加协议头, “Referer:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“Referer: ” + 网址

如果真 (寻找文本 (局_附加协议头, “Accept-Language:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“Accept-Language: zh-cn”

如果真 (寻找文本 (局_附加协议头, “User-Agent:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)”

如果真 (访问方式 = 1)
如果真 (寻找文本 (局_附加协议头, “Content-Type:”, , ) = -1)
局_附加协议头 = 局_附加协议头 + #换行符“Content-Type: application/x-www-form-urlencoded”



如果真 (是否处理协议头大小写)
局_附加协议头 = 网页_处理协议头 (局_附加协议头)

如果真 (代理地址 ≠ “” 代理用户名 ≠ “”)
如果真 (是否为空 (代理标识))
代理标识 = 1

局_WinHttp.方法 (“SetCredentials”, 代理用户名, 代理密码, 代理标识)
如果真 (代理标识 = 1)
局_WinHttp.方法 (“SetRequestHeader”, “Proxy-Authorization”, “Basic ”编码_BASE64编码 (到字节集 (代理用户名 + “:” + 代理密码)))


如果真 (取反 (是否为空 (提交Cookies)))
如果真 (取文本长度 (提交Cookies) > 0)
如果真 (寻找文本 (提交Cookies, “Cookie:”, , ) ≠ -1)
提交Cookies = 子文本替换 (提交Cookies, “Cookie:”, “”, , , )


局_WinHttp.方法 (“SetRequestHeader”, “Cookie”, 提交Cookies)

判断 (寻找文本 (局_附加协议头, #换行符, , ) = -1)
局_WinHttp.方法 (“SetRequestHeader”, 内部_协议头取名 (局_附加协议头), 内部_协议头取值 (局_附加协议头))



局_发送协议头 = 分割文本 (局_附加协议头, #换行符, )
计次循环首 (取数组成员数 (局_发送协议头), 局_计次)
如果真 (局_发送协议头 [局_计次]“”)
如果真 (内部_协议头取名 (局_发送协议头 [局_计次])“Connection”)
如果真 (内部_协议头取值 (局_发送协议头 [局_计次])“keep-alive”)
到循环尾 ()  ' 筛选排除此参数 避免协议头有此参数 HTTP对象又自动添加此参数


局_WinHttp.方法 (“SetRequestHeader”, 内部_协议头取名 (局_发送协议头 [局_计次]), 内部_协议头取值 (局_发送协议头 [局_计次]))

计次循环尾 ()

判断 (字节集提交 = {  })
局_WinHttp.方法 (“Send”, 提交信息)



局_变体提交.赋值 (字节集提交, )
局_WinHttp.方法 (“Send”, 局_变体提交)

局_网页数据 = 局_WinHttp.读属性 (“ResponseBody”, ).取字节集 ()
返回协议头 = 局_WinHttp.读文本属性 (“GetAllResponseHeaders”, )
返回状态代码 = 局_WinHttp.读数值属性 (“Status”, )
局_WinHttp.读文本属性 (“StatusText”, )
局_返回协议头 = 分割文本 (返回协议头, #换行符, )
返回Cookies = “”
计次循环首 (取数组成员数 (局_返回协议头), 局_计次)
如果真 (文本_取左边 (局_返回协议头 [局_计次], “: ”)“Set-Cookie”)
判断 (寻找文本 (局_返回协议头 [局_计次], “;”, , ) ≠ -1)
返回Cookies = 返回Cookies + 删首尾空 (文本_取出中间文本 (局_返回协议头 [局_计次], “Set-Cookie:”, “;”)) + “; ”



返回Cookies = 返回Cookies + 删首尾空 (子文本替换 (局_返回协议头 [局_计次], “Set-Cookie:”, , , , )) + “; ”


计次循环尾 ()
如果真 (取文本左边 (返回Cookies, 2)“; ”)
返回Cookies = 取文本左边 (返回Cookies, 取文本长度 (返回Cookies) - 2)

如果真 (是否自动合并更新Cookie)
如果真 (取反 (是否为空 (提交Cookies)))
返回Cookies = 网页_Cookie合并更新 (提交Cookies, 返回Cookies)


局_WinHttp.清除 ()
线程_取消COM库 ()
返回 (局_网页数据)


其中超时对应的dll

  
DLL命令名返回值类型公开备 注
WinHttpSetTimeouts逻辑型 BOOL WINAPI WinHttpSetTimeouts
DLL库文件名:
Winhttp.dll
在DLL库中对应命令名:
WinHttpSetTimeouts
参数名类 型传址数组备 注
hInternet整数型__in  HINTERNET hInternet
dwResolveTimeout整数型__in  int dwResolveTimeout
dwConnectTimeout整数型__in  int dwConnectTimeout
dwSendTimeout整数型__in  int dwSendTimeout
dwReceiveTimeout整数型__in  int dwReceiveTimeout




网页访问对象里面 把这个dll对应的4个值 默认赋值1500毫秒也就是都是15秒

实际调试过程  超时等于0.1秒-1秒  post都出结果 很奇怪 经过精易助手里面调试  我反正发现这个超时只针对设置了代理服务器ip的情况

怎么变成实际直接post的超时设置?



补充内容 (2021-5-27 16:51):
正常来说 源码里面 timeout 4个参数都赋值了

设置超时=5的话 撑死了就是5秒*4=20秒    整数型 我假设最低是1  那就是最大超时累计超时*4=4秒可是无效啊
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 12 天

发表于 2021-5-27 17:12:48 | 显示全部楼层   浙江省温州市
单位是秒
回复

使用道具 举报

结帖率:97% (144/148)

签到天数: 1 天

 楼主| 发表于 2021-5-27 20:02:58 | 显示全部楼层   重庆市重庆市
  
如果真 (超时 ≠ -1)
如果 (超时 = 1)
超时 = 10          ’//---------------------- 这里精易模块的网页访问对象源码 改成了超时=1  超时是10毫秒  默认是超时<1,超时=1500毫秒
超时 = 超时 × 1000
局_WinHttp.方法 (“SetTimeouts”, 超时, 超时, 超时, 超时)


这里精易模块的网页访问对象源码 改成了超时=1  超时是10毫秒  默认是超时<1,超时=1500毫秒

然后随便post几个网页 取返回值和时间   
测速结束1266毫秒
测速结束3566毫秒



如果直接连接post生效  这里网页访问对象里面参数超时=1,根据改后的源码  超时最多1*4*10毫秒=40毫秒  这都2,3秒的返回时间 并且返回正常的内容

还是说明这个超时不生效啊 只针对代理服务器IP去post

回复

使用道具 举报

结帖率:97% (144/148)

签到天数: 1 天

 楼主| 发表于 2021-5-27 22:22:13 | 显示全部楼层   重庆市重庆市
救救……
回复

使用道具 举报

结帖率:97% (144/148)

签到天数: 1 天

 楼主| 发表于 2021-6-15 19:08:25 | 显示全部楼层   重庆市重庆市
这玩意儿就没解决过……
除了异步的方法只管发不管返回 就没见过能超时暂停的……
回复

使用道具 举报

结帖率:97% (144/148)

签到天数: 1 天

 楼主| 发表于 2021-6-16 14:53:32 | 显示全部楼层   重庆市重庆市
每天蹲守解决方案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

关闭

精易论坛 - 有你更精彩上一条 /2 下一条

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表