loadrunner处理https请求

录制到的脚本如下:

login()

{

lr_think_time(10);

web_url("verifycode.jsp",

"URL=https://192.168.211.246:56661/portal/common/jsp/verifycode.jsp?codeSource=loginverifycode&time=1330596177343",

"Resource=1",

"RecContentType=image/jpeg",

"Referer=https://192.168.211.246:56661/portal/indexAction",

"Snapshot=t2.inf",

LAST);

web_url("192.168.211.246:38787_2",

"URL=http://192.168.211.246:38787/",

"Resource=0",

"RecContentType=text/html",

"Referer=https://192.168.211.246:56661/portal/indexAction",

"Snapshot=t3.inf",

"Mode=HTML",

EXTRARES,

"Url=https://192.168.211.246:56661/portal/common/style/image/head/topbg_line.jpg", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

"Url=https://192.168.211.246:56661/portal/common/style/image/shadowLW.jpg", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

"Url=https://192.168.211.246:56661/portal/common/style/image/tabM.jpg", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

"Url=https://192.168.211.246:56661/portal/common/style/image/tabBg.jpg", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

"Url=https://192.168.211.246:56661/portal/common/style/image/shadowRW.jpg", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

"Url=https://192.168.211.246:56661/portal/common/style/image/titleHot.gif", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

"Url=https://192.168.211.246:56661/portal/common/style/image/head/contanta_pic_y.gif", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

"Url=https://192.168.211.246:56661/portal/common/style/image/titleHot2.gif", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

"Url=https://192.168.211.246:56661/portal/common/style/image/shadowB.jpg", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

"Url=https://192.168.211.246:56661/portal/common/style/image/titleMyoder.gif", "Referer=https://192.168.211.246:56661/portal/indexAction", ENDITEM,

LAST);

web_url("subscribeInfoQuery.action",

"URL=https://192.168.211.246:56661/portal/subscribeInfoQuery.action",

"Resource=0",

"RecContentType=text/html",

"Referer=https://192.168.211.246:56661/portal/indexAction",

"Snapshot=t4.inf",

"Mode=HTML",

LAST);

return 0;

}

思考:是否是loadrunner不支持https

解决:通过查找一些资料,其实loadrunner支持https协议,但需要在录制脚本时做一些修改,操作步骤如下:

1、证书的准备

常见的证书为:*.pfx格式,该种格式的证书可以通过双击运行安装到IE浏览器上。用户在访问的时候就可以使用到。

但这种证书并不是LoadRunner所使用的类型,因此需要对其进行转换。将其转换为*.pem格式。

转换方法如下:

a)        安装openssl后

b)        运行C:\<OpenSSL>/bin文件夹的openssl二进制文件,它将启动OpenSSL命令提示符

c)        执行以下命令:pkcs12 -in D:\test1.pfx -out D:\test01.pem–nodes

d)        执行后,将会在指定目录生成test01.pem文件,这个文件将会在下一个步骤,对LoadRunner进行配置的时候使用到。

2.LR配置

启动LoadRunner,打开Recording Option选项。

[图片]

留意红色框中的选项。

选择后,单击New Enty

[图片]

红框中的配置为服务器的ip和端口号,按照测试所需要的实际地址进行配置就可以

配置后,将Use specified client-side certificate[Base64/PEM]钩选,为使用客户端证书访问。

单击...选择刚刚转换生成的客户端证书。

[图片]

如果你为证书有设置密码,在这里也需要输入。

到此为止所有与http区别的配置就完成了。

录制后,可以在脚本的开始,看到LoadRunner新生成的语句

web_set_certificate_ex("CertFilePath=test01.pem",   //密钥文件

"CertFormat=PEM",

"KeyFilePath=test01.pem",   //密钥文件

"KeyFormat=PEM",

"Password=123456",        //密钥密码

"CertIndex=1",

LAST);

3、完成上面两步后可以正常录制脚本

或者使用:

测webservice遇到https的请求,是在事务开始前加web_set_sockets_option("SSL_VERSION","TLS");

时间: 2024-11-08 22:45:28

loadrunner处理https请求的相关文章

Loadrunner对https协议(单双向SSL)的web端性能测试

1.项目背景 1.1 单双向SSL的含义及部署 单向SSL即我们说到的https协议. 特点是,浏览器需要请求验证服务器证书: 基本含义是:一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息.它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版. 双向SSL顾名思义就是双方都需要验证证书的协议,浏览器首先向服务端请求证书,然后服务器端需要向浏览器请求目前登陆用户的个人证书验证. 1.2 系统的基本部署 单向SSL交互过程: 使用单向SSL时,仅通过虚拟主

python——请求服务器(http请求和https请求)

一.http请求 1.http请求方式:get和post get一般用于获取/查询资源信息,在浏览器中直接输入url+请求参数点击enter之后连接成功服务器就能获取到的内容,post请求一般用于更新资源,通过form表单或者json.xml等其他形式提交给服务器端,然后等待服务器端给返回一个结果的方式(这个返回结果一般就是被修改之后的是否成功的状态,或者是修改后的最新数据table等). http请求,不论是get还是post请求,都会包含几个部分,分别是header,cookie,get会有

Google Volley框架之https请求

先插一句.Google出的volley框架本身是支持https请求的,可是仅仅是针对有第三方机构认证过的. 假设自己随便在网上搞的一个证书,那volley是不支持请求的. 本文讲下怎样让volley支持自己搞的https证书. 改动volley源代码:com.android.myvolley.toolbox.HurlStack /** * Create an {@link HttpURLConnection} for the specified {@code url}. */ protected

AFNetWorking3.0使用 自签名证书的https请求

前几日,项目组出于安全角度的考虑,要求项目中的请求使用https请求,因为是企业内部使用的app,因此使用了自签名的证书,而自签名的证书是不受信任的,所以我们就需要自己来做证书的验证,包括服务器验证客户端的证书和我们要信任服务器的证书,SSL双向认证的原理我这里就不赘述了,这里提供两篇博客 iOS安全系列之一:HTTPS: http://oncenote.com/2014/10/21/Security-1-HTTPS/ iOS安全系列之二:HTTPS进阶: http://oncenote.com

nodejs发起HTTPS请求并获取数据

var https = require('https'); var zlib = require('zlib'); var post_data="………………";//请求数据 var reqdata = JSON.stringify(post_data); var options = { hostname: '10.225.***.***', port: '8443', path: '/data/table/list', method: 'POST', rejectUnauthoriz

在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

通用辅助类 下面是我编写的一个辅助类,在这个类中采用了HttpWebRequest中发送GET/HTTP/HTTPS请求,因为有的时候需要获取认证信息(如Cookie),所以返回的是HttpWebResponse对象,有了返回的HttpWebResponse实例,可以获取登录过程中返回的会话信息,也可以获取响应流. 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text;

iOS内置证书,校验https请求

有些情况处于安全的考虑需要https请求,但是为了防止域名解析很多情况下会使用IP进行访问.一般的服务不会针对IP去申请证书,所以我们可以自己实现ssl登录过程,保证请求的安全性. 一.首先需要自己本地生成ssl证书以及搭建一个本地服务 Mac apache本地配置ssl证书 及 iOS OTA部署: http://www.jianshu.com/p/bd016015efe7 生成的crt转换成cer的方法 openssl x509 -in test.crt -out test.cer -out

charles4抓https请求的注意事项

最近升级charles4.0后发现抓不了https请求了,但很奇怪ssl证书一样,记得以前用3.0就可以,今天仔细研究了一下,发现4.0的ssl代理设置中有一段说明(可能3.0也有但没注意): 直接上图,only the locations listed below will be proxied!  恍然大悟,原来charles从4.0版本开始只支持用户手动输入的域名白名的https抓包代理 . 设置了所需要抓取https请求的域名白名单后抓取正常  偷懒的办法是enalbe ssl prox

【转】在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

http://zhoufoxcn.blog.51cto.com/792419/561934 这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全部采用手工操作工作量大而且繁琐,因此周公决定利用C#来实现.在很多地方都需要验证用户身份才可以进行下一步操作,这就免不了POST请求来登录,在实际过程中发现有些网站登录是HTTPS形式的,在解决过程中遇到了一些小问题,现在跟大家分享. 通用辅助类 下面是我编写的一个辅助类,在这个类中采用了HttpW