【问题标题】:Zoho Creator Deluge InvokeUrl : How to pass form parameters to third party form?Zoho Creator Deluge InvokeUrl:如何将表单参数传递给第三方表单?
【发布时间】: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中的参数。

是否有不同的语法有效?

谢谢

【问题讨论】:

    标签: zoho


    【解决方案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;
    

    【讨论】:

      猜你喜欢
      • 2021-05-14
      • 2020-01-09
      • 2022-08-16
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 2015-07-10
      • 1970-01-01
      • 2012-08-12
      相关资源
      最近更新 更多