我想使用post方法发送多个http请求。 我正在使用tHttpRequest来调用这样的api:
我正在使用带有从.txt文件读取的参数的post方法。如下所示:
login_id=7777&system_cd=1&role_cd=1
login_id=9999999999999&system_cd=1&role_cd=1
有效。但是它发送了第一个参数行
的两个请求login_id=7777&system_cd=1&role_cd=1
但是第二个参数行没有发送
login_id=9999999999999&system_cd=1&role_cd=1
如何使用post方法发送多个请求?
非常感谢你!它对我来说非常适合。
但它只写了对日志文件的成功响应
我想在同一个文件中写下所有回复(成功回复而非成功回复)
我该怎么做?
答案 0 :(得分:2)
因此,您希望为参数文件中的每一行发出一个发布请求。以下是您如何实现这一目标:
tFileInputFullRow -- Main -- tFlowToIterate -- iterate -- tFixedFlowInput -- Main -- tFileOutputRaw (temp file) -- OnComponentOk -- tHttpRequest_1 (read temp file) -- main -- tFileOutputDelimited_1
这样做,循环遍历参数文件中的行,并为每一行创建一个包含该单行的文件(使用由tFixedFlowInput
设置的全局变量读取tFlowToIterate
中的行并将其输出到文件中),然后通过指定新创建的文件来读取参数来调用tHttpRequest
。
修改强>
据我所知,您希望将响应以及错误消息(如果有)写入同一文件。以下是您可以这样做的方法:
在If
触发器中,您需要测试tHttpRequest_1
的响应代码:
((Integer)globalMap.get("tHttpRequest_1_RESPONSE_CODE")) != 200
如果请求返回错误代码,则读取错误消息(String)globalMap.get("tHttpRequest_1_ERROR_MESSAGE")
并将其写入tFileOutputDelimited_2
答案 1 :(得分:1)
您可以将包含您的请求正文的文件传递给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