zoukankan      html  css  js  c++  java
  • Error -27492: "HttpSendRequest" failed, Windows error code=12152 (invalid server response) and retry。。。

    转自:https://www.cnblogs.com/cheerjude/p/10092377.html

    百度了一下,答案千篇一律,基本解决办法都是:
    “在Runtime-setting中的preferences-->options-->http-request connect timeout(sec)的值设为999。”
    然并卵.....设置后依然报错,无法解决报错问题。

    问题根源

    报错显示是因为请求连接超时。
    普通情况下的处理,先设置"Runtime-setting中的preferences-->options-->http-request connect timeout(sec)的值设为999",确保不要请求超时,但如果依旧报错,请看下文。
    默认情况下,当录制http请求后回放脚本,Runtime-setting-Preferences中“winlnet replay instead of sockets(windows only)”选项是不勾选的,即通过LR sockets模拟发出请求。
    但是!
    LR sockets默认SSL的版本为SSL2和SSL3。当录制https时,如果SSL版本不一致,就会使sockets端口连接失败,被服务器拒绝连接,因此为使回放成功,很多人会勾选“winlnet replay instead of sockets(windows only)”。而这个勾选,也就是造成后面报错的罪魁祸首。
     
    勾选“winlnet replay instead of sockets(windows only)”后,LR通过windows系统的WinInet来对外发送请求。但是微软的WinInet对流量的统计并不准确,而且当发送的请求超时20秒后,就会自动报错“请求已超时“。这一个超时,也就是造成开头报错的原因;即便在LR中设置preferences-->options-->http-request connect timeout(sec)的值设为999,也没用,因为发送的请求没不经过LR socket,LR统计不到。

    解决办法

    1)取消勾选”winlnet replay instead of sockets(windows only)“选项
    2)在脚本中添加https请求前,添加函数 web_set_sockets_option("SSL_VERSION","TLS")。
     
    综上,
    当单独回放脚本时,请求数少,网站响应快,自家网速也够,所以请求超时就基本不会出现,当几百个用户一起并发,小网站性能不行,或者自家网络已经卡了,那么要发送的请求就会等待,当超过20秒后,就报了上述错误,因此录制https时,建议不要勾选winlnet replay instead of sockets选项,使用lr函数来解决即可。
  • 相关阅读:
    leetcode Super Ugly Number
    leetcode Find Median from Data Stream
    leetcode Remove Invalid Parentheses
    leetcode Range Sum Query
    leetcode Range Sum Query
    leetcode Minimum Height Trees
    hdu 3836 Equivalent Sets
    hdu 1269 迷宫城堡
    hud 2586 How far away ?
    poj 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/apple2016/p/14137637.html
Copyright © 2011-2022 走看看