Zoho Creator Deluge InvokeUrl:如何将表单参数传递给第三方表单?

Zoho Creator Deluge InvokeUrl : How to pass form parameters to third party form?

如何使用 Zoho-Creator-Deluge 的 InvokeUrl() 函数将表单参数传递给第三方 Web 表单?

这是我试过的代码:

尝试-1

auth_url = "https://example-form.com"

header_data = Map();
header_data.put("Content-Type","multipart/form-data");

payload = Map();
payload.put("username",app.App_Username);
payload.put("password",app.App_Password);

response = invokeurl
[
    url :auth_url
    type :POST
    parameters:payload
    headers:header_data
    detailed: true
];

// debug
info response;

Try-2

auth_url = "https://example-form.com"

header_data = Map();
header_data.put("Content-Type","multipart/form-data");

payload = List();

username = {"paramName":"username","content":app.App_Username,"stringPart":"true"};
password = {"paramName":"password","content":app.App_Password,"stringPart":"true"};

payload.add(username);
payload.add(password);

response = invokeurl
[
    url :auth_url
    type :POST
    files :payload
    headers:header_data
    detailed: true
];

// debug
info response;

Try-1 和 Try-2 都会导致在 response 中返回表单页面,而不是预期的登录页面。没有错误消息,所以它似乎忽略了 payload.

中的参数

是否有其他有效的语法?

谢谢

好的,我发现问题是我需要在请求 headers 中使用 x-www-form-urlencodedContent-Type。这是使用 Content-Type:

更新的 Try-1

header_data = Map();

// This line is the fix!
header_data.put("Content-Type","application/x-www-form-urlencoded");


payload = Map();
payload.put("username",app.App_Username);
payload.put("password",app.App_Password);

response = invokeurl
[
    url :auth_url
    type :POST
    parameters:payload
    headers:header_data
    detailed: true
];

// debug
info response;