-1
使用德爾福2007年, 利用Indy 10, 使用TIdWebDAV, 服務webdav.yandex.ru, 我要發佈一個文件,但我得到一個錯誤的授權德爾福TIdWebDav Yandex的
procedure TForm2.Button1Click(Sender: TObject);
Var
s, r: TStringStream;
begin
s := TStringStream.Create('<propertyupdate xmlns="DAV:">' + sLineBreak +
'<set>' + sLineBreak +
'<prop>' + sLineBreak +
'<public_url xmlns="urn:yandex:disk:meta">true</public_url>' + sLineBreak +
'</prop>' + sLineBreak +
'</set>' + sLineBreak +
'</propertyupdate>');
r := TStringStream.Create('');
try
//fill params
IdWebDAV1.URL.Password := '*****';
IdWebDAV1.URL.Username := '***@yandex.ru';
IdWebDAV1.URL.Port := '80';
IdWebDAV1.URL.URI := '/tst/readme.txt';
IdWebDAV1.URL.Host := 'webdav.yandex.ru';
IdWebDAV1.URL.Protocol := 'PROPFIND';
//fill OAuth ID
IdWebDAV1.Request.CustomHeaders.Add('Authorization: OAuth c953e33d6ec14895aa776f55145e73b5');
IdWebDAV1.Put('https://webdav.yandex.ru/', s, r);
//result
Memo1.Lines.Text := r.DataString;
finally
s.Free;
r.Free;
end;
end;
我得到一個錯誤:HTTP/1.1 401 Unauthorized。
謝謝!只有沒有用戶名和密碼 – Akella225 2014-11-27 07:06:14