【问题标题】:curl with variable in url using javascript gets me error使用javascript在url中使用变量卷曲让我出错
【发布时间】:2023-01-18 02:13:15
【问题描述】:
var Cname = "test";
var Cphone = "01022223333";
var getSynoLink = "curl --location --request GET";
getSynoLink += " 'https://test.synology.me:9005/webapi/entry.cgi?api=SYNO.FileStation.Sharing&version=3&";
getSynoLink += "method=create&";
getSynoLink += "password=" + Cphone + "&";
getSynoLink += "path=/E-MAIL/"+ Cname + "_" + Cphone +"'";
getSynoLink += " -H 'Cookie: id=1233456454121'";

我正在尝试使用 synology api 在 synology nas 上创建共享链接。 除了密码部分,一切都很好。 我正在从 Cphone(客户的电话号码)设置密码。

到目前为止,它会创建链接,但如果我输入密码,则会说不正确。

我试过了,

 getSynoLink += "password=01022223333&";

但它带有不正确的密码。

getSynoLink += "password=world&";

如果我把字符串像“世界”一样工作。

从 synology api 文档开始,

可选共享链接的密码 访问时的密码。最大密码长度为 16 个字符。细绳

我猜这是数字和字符串的问题。

但它在 GUI 界面上是可行的。

我试过了

var Cphone = "01022223333";
var Pass2 = Cphone.toString();
var Pass1 = Cphone + "";
var Pass = String(Cphone);

最终没有运气。

请帮我...

【问题讨论】:

    标签: javascript curl synology


    【解决方案1】:

    01022223333必须加引号,否则会被当作数值1022223333,甚至是十进制值的八进制表示139011803

    getSynoLink += "password=%22" + Cphone + "%22&";
    

    【讨论】:

    • 哇..你真是个英雄。谢谢