今天在调试脚本的过程中遇到Error -27776的问题,通过参考网上的解决方式,问题得以解决,在这里记录一下,方便以后参考
问题现象:
Action.c(6): Error -27776: Server "XXX" shut connection during attempt to negotiate SSL session [MsgId: MERR-27776]
Action.c(6): Warning -26000: Empty or no response for URL="https://XXX/login?loginTheme=wap_new" [MsgId: MWAR-26000]
Action.c(6): web_submit_data("login") highest severity level was "ERROR", 0 body bytes, 0 header bytes [MsgId: MMSG-26388]
问题原因:
Loadrunner默认发送是通过sockets(将http转换为sockets)发送的,而sockets默认ssl的版本为ssl23.
解决办法:
方法1:使用Winlnet replay instead of Sockets(windows only)回放(在runtime-settings中设置)。Winlnet是微软的一个通信引挚,其IE是基于这个通信引挚,Winlnet不支持unix,而且该默式在vuser线程默式不能准确模块网络连接的速度以及连接的数量。
——经我验证,方法1可以解决问题;
方法2:增加语句web_set_sockets_option("SSL_VERSION","3");设置使用ssl的版本,即:
web_set_sockets_option("SSL_VERSION","3");
——经我验证,在我的脚本中相应的请求前面设置ssl版本后,问题也可以解决,只是使用的是TLS版本的ssl,即增加如下函数:
具体的设置方法可以参考HP LoadRunner Online Function Reference文档中对函数 web_set_sockets_option的详细解释,其中SSL_VERSION的设置说明如下:
SSL_VERSION
|
The SSL version preferences 2, 3, 2 and 3, TLS.
|