Zoho Creator Deluge InvokeUrl:如何将表单参数传递给第三方表单?
Posted
技术标签:
【中文标题】Zoho Creator Deluge InvokeUrl:如何将表单参数传递给第三方表单?【英文标题】:Zoho Creator Deluge InvokeUrl : How to pass form parameters to third party form? 【发布时间】:2021-04-13 18:51:17 【问题描述】:如何使用 Zoho-Creator-Deluge 的 InvokeUrl() 函数将表单参数传递给第三方 Web 表单?
这是我尝试过的代码:
试一试
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
中的参数。
是否有不同的语法有效?
谢谢
【问题讨论】:
【参考方案1】:好的,我发现问题是我需要在请求标头中使用 Content-Type of x-www-form-urlencoded
。这是使用有效 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:如何将表单参数传递给第三方表单?的主要内容,如果未能解决你的问题,请参考以下文章
ZOHO deluge 脚本 getUrl() 函数可以读取 HTTP 响应标头吗?
如何在 Zoho CRM Deluge 脚本中使用 for each 循环遍历 JSON 数组
Zoho Deluge:在决定使用地图、列表或集合的数据结构时要考虑哪些标准?