如何使用 post 方法发送多个请求

How to send multiple request by using post method

我想使用 post 方法发送多个 http 请求。 我正在使用 tHttpRequest 像这样调用 api :

我正在使用 post 方法,其参数从 .txt 文件中读取。如下所示:

login_id=7777&system_cd=1&role_cd=1
login_id=9999999999999&system_cd=1&role_cd=1

有效。但是它发送了两个第一个参数 line

的请求
login_id=7777&system_cd=1&role_cd=1

但是第二个参数行,没有发送

login_id=9999999999999&system_cd=1&role_cd=1

如何使用post方法发送多个请求?


更新

非常感谢!!!它非常适合我。

但它只将成功响应写入日志文件

我想在同一个文件中写入所有响应(成功响应和非成功响应)

我该怎么做?

所以您想对参数文件中的每一行发出一个 post 请求。以下是实现此目标的方法:

tFileInputFullRow -- Main -- tFlowToIterate -- iterate -- tFixedFlowInput -- Main -- tFileOutputRaw (temp file) -- OnComponentOk -- tHttpRequest_1 (read temp file) -- main -- tFileOutputDelimited_1

这样做是,遍历参数文件中的行,并为每一行创建一个包含该行的文件(使用 [=13] 设置的全局变量读取 tFixedFlowInput 中的行=] 并将其输出到文件),然后通过指定要从中读取参数的新创建文件来调用 tHttpRequest

编辑

据我了解,您想将响应和错误消息(如果有)写入同一个文件。以下是您可以如何做到这一点:

If触发器中,需要测试tHttpRequest_1的响应码:

((Integer)globalMap.get("tHttpRequest_1_RESPONSE_CODE")) != 200

如果请求 returns 一个错误代码,那么你读取错误信息 (String)globalMap.get("tHttpRequest_1_ERROR_MESSAGE") 并将其写入 tFileOutputDelimited_2

中的同一个物理文件

您可以将包含请求正文的文件传递给 Post parameters from file

像这样。

{
 "login": [
 {
   "login_id":9999999999999,
   "system_cd":1,
   "role_cd":1  
 },
 {
   "login_id":8888888888,
   "system_cd":3,
   "role_cd":2
 }
 ]
}

可以参考这个文档。 https://help.talend.com/reader/MjIZDoU6r0vLbCpGh5GAcg/WjbsVyUCV2MD8C7_uVYKRA