2014-02-19 3 views
0

Я пытаюсь отправить данные в API-интерфейс mediawiki и не распознает токен, который я отправляю.отправить запрос 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, и это отлично работает.

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" 
} 
} 

Любые идеи, что я делаю неправильно?

+0

Откуда у вас появился токен? – Bergi

ответ

1

В дополнение к токену вы должны передать ему файлы cookie, которые вы получили вместе с ним. Конечно, токен не должен быть жестко закодирован и приобретаться динамически.

Смежные вопросы