Я пытаюсь получить доступ к содержимому моего сервера WebDAV в узле (сервер ОК, я могу использовать его в сети). Я использую request модуль:Node.js: Не удается выполнить PROFIND с модулем запроса
path = url.join(this._options.rootUrl, path || "");
var data =
"<?xml version=\"1.0\" encoding=\"utf-8\" ?>" +
"<propfind xmlns=\"DAV:\">" +
"<propname/>" +
"</propfind>";
var headers = {
"Content-Type": "text/xml",
"Depth": depth || 1
};
var req = request({
url: path,
data: data,
headers: headers,
method: "PROPFIND",
json: false,
encoding: "utf8",
auth: {
user: this._options.user,
password: this._options.password
}
});
req.on("response", ...);
req.on("error", ...);
Проблема заключается в том, что я получаю HTTP 405 вместо результата. Я пробовал подключенный модуль https, тот же результат.
Возможно ли, что Node.js не может ссылаться на глаголы costom как PROPFIND?
UPDATE 1:
Об этом говорится, что узел может сделать PROFIND. Поэтому мой вопрос: как вы исправляете запрос клиента WebDAV PROPFIND в node/io.js с помощью модуля запроса? (Или что-нибудь, что работает для этой цели.)
Возможно ли, что сервер не поддерживает '' я знаю, по крайней мере, некоторые, которые не поддерживают это. Попробуйте удалить весь блок запроса для простого теста. (в запросе 'PROPFIND' запрос' allprop' не запрашивается. –
Evert
На самом деле сервер OneDrive. Существует уже работающая версия .NET этого кода, которую я хочу портировать на io.js. Таким образом, запрос подделывается таким образом, что сервер должен точно понимать. – unbornchikken
Вы уверены, что OneDrive поддерживает ' '? –
Evert