Curl 使用具有相同名称的多个字段发布
我试图从一个需要如下POST参数的API收集一些数据Curl 使用具有相同名称的多个字段发布,curl,google-apps-script,urlfetch,Curl,Google Apps Script,Urlfetch,我试图从一个需要如下POST参数的API收集一些数据 POST /v2/address/addr/ HTTP/1.1 Host: api.omniwallet.org Content-Type: application/x-www-form-urlencoded addr=test1&addr=test2 卷曲版本 curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -H "Content-Type: ap
POST /v2/address/addr/ HTTP/1.1
Host: api.omniwallet.org
Content-Type: application/x-www-form-urlencoded
addr=test1&addr=test2
卷曲版本
curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -H "Content-Type: application/x-www-form-urlencoded" -d "addr=test1&addr=test2" "https://api.omniwallet.org/v2/address/addr/"
问题是,正如您所看到的,这些字段具有相同的名称“addr”
所以我试着将数据放入一个名为“addr”的数组中
但它不起作用,服务器无法识别列表“addr”上的表单数据字段。
也试过
var options = { 'method' : 'POST' ,'payload' : { addr: "test1", addr: "test2" } };
var result = UrlFetchApp.fetch('https://api.omniwallet.org/v2/address/addr/', options);
<>但是它也不起作用,因为它只考虑第二个“ADDR”字段的值(很明显)。
有没有其他方法可以执行这个POST方法,我可以像CURL示例中那样强制执行“addr=test1&addr=test2”
谢谢 - 您希望将curl命令转换为Google Apps脚本
- 在curl命令中,
的值以addr=test1&addr=test2
的形式发送。“addr:[“test1”、“test2”]
- 第一次尝试时,
的数组无法解析addr
- 第二次尝试时,由于使用了相同的密钥,因此只发送了
addr:“test2”
- 第一次尝试时,
选项
被修改。我认为,这是相同的结果
如果这不起作用,我很抱歉。- 您希望将curl命令转换为Google Apps脚本
- 在curl命令中,
的值以addr=test1&addr=test2
的形式发送。“addr:[“test1”、“test2”]
- 第一次尝试时,
的数组无法解析addr
- 第二次尝试时,由于使用了相同的密钥,因此只发送了
addr:“test2”
- 第一次尝试时,
选项
被修改。我认为,这是相同的结果
如果这不起作用,我很抱歉。只需发送与Payload相同的字符串,也许可以尝试:
var options={'method':'POST'};var result=UrlFetchApp.fetch('https://api.omniwallet.org/v2/address/addr/?addr=test1&addr=test2",选择),代码>我认为,即使是POST请求,也可以在URL中添加搜索字符串。作为查询字符串发送不起作用。响应为“{”错误“:“字典中没有地址”}”。按照@TheMaster的建议发送与有效负载相同的字符串,解决了这个问题。@Bruno太好了。考虑接受下面的解决方案,它表示相同的事情。只需发送与PayLoad相同的字符串;尝试:<代码> var选项= {方法〉:“POST”};var result=UrlFetchApp.fetch('https://api.omniwallet.org/v2/address/addr/?addr=test1&addr=test2",选择),代码>我认为,即使是POST请求,也可以在URL中添加搜索字符串。作为查询字符串发送不起作用。响应为“{”错误“:“字典中没有地址”}”。按照@TheMaster的建议发送与有效负载相同的字符串,解决了这个问题。@Bruno太好了。考虑接受下面的解决方案,这说明相同的事情。
var options = { 'method' : 'POST' ,'payload' : { addr: "test1", addr: "test2" } };
var result = UrlFetchApp.fetch('https://api.omniwallet.org/v2/address/addr/', options);
var options = {
method: 'POST',
payload: 'addr=test1&addr=test2', // Modified
};