簡體   English   中英

向MediaWiki API發送請求

[英]post request to mediawiki api

我正在嘗試將數據發布到mediawiki API,並且無法識別我正在發送的令牌。

var data = querystring.stringify({
      action: "createaccount",
      name: "sean",
      email: "xxx",
      password: "test",
      token: "66cde5ad831521fe9d0fe4df3a2db25f"
});

var options = {
    host: '54.201.91.132',
    port: 80,
    path: '/wiki/api.php',
    method: 'POST',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Content-Length': Buffer.byteLength(data)
    }
};

var req = http.request(options, function(res) {
    res.setEncoding('utf8');
    res.on('data', function (chunk) {
        console.log("body: " + chunk);
    });
});

req.write(data);
req.end();

我嘗試使用Postman chrome擴展名發送相同的數據,但效果很好。

POST /wiki/api.php HTTP/1.1
Host: 54.201.91.132
Cache-Control: no-cache
Content-Type: application/x-www-form-urlencoded
 action=createaccount&name=shamus&email=xxx&password=test&token=5dc9c943ac3255f87dc7782c24f61ac6&format=json

{
"createaccount": {
    "username": "Shamus",
    "userid": 22,
    "token": "c3744c0f19ea62f6baf89b10f7c86f7f",
    "result": "success"
}
}

有什么想法我做錯了嗎?

除令牌外,您還必須將其隨附的cookie傳遞給它。 當然,令牌不能硬編碼並可以動態獲取。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM