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-urlencoded
的 Content-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;
如何使用 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-urlencoded
的 Content-Type。这是使用 Content-Type:
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;