如何从cURL命令实现jmeter请求发布

时间:2014-09-24 12:15:46

标签: curl header request jmeter saml

我需要从这个cURL命令实现一个jmeter脚本:

curl -X POST -u "Oezvjl4Ffju8Y0sLTXwfTuUHyHMa:vwe7v7AaontzlOfiefCRjrYWpUwa"
-H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8"
-d "grant_type=urn:ietf:params:oauth:grant-type:saml2-bearer&assertion=PD94bWwgd...."
-k https://$host/oauth2/token

-u标志应指定<Client Id>:<Client Secret>值。断言参数应指定base64url编码的SAML2.0断言。

如何在jmeter请求中对参数-u和-d进行评估? 我尝试使用HTTP Header Manager,如下所示:

Content-Type: application/x-www-form-urlencoded;charset=UTF-8
client_id: Oezvjl4Ffju8Y0sLTXwfTuUHyHMa
code: vwe7v7AaontzlOfiefCRjrYWpUwa

我将grant_type=...放在http post请求的正文数据中..但它不起作用。

1 个答案:

答案 0 :(得分:2)

更轻松的方式: - 只记录通话。

  1. 启动JMeter's HTTP(S) Test Script Recorder
  2. 在shell中:
    • export http_proxy=http://localhost:8080/
    • curl .......
  3. 捕获的请求将在Recording Controller下。

    更难的方式: - 如果您想要完全控制

    JMeter等价物如下所示:

    HTTP请求配置:

    • 服务器名称或IP:$host
    • 协议:https
    • 方法:POST
    • 内容编码:UTF-8
    • 路径:/oauth2/token
    • 正文数据:grant_type=urn:ietf:params:oauth:grant-type:saml2-bearer&assertion=PD94bWwgd....

    HTTP标头管理器配置:

    • 姓名:Authorization
    • 价值:Basic T2V6dmpsNEZmanU4WTBzTFRYd2ZUdVVIeUhNYTp2d2U3djdBYW9udHpsT2ZpZWZDUmpyWVdwVXdh