我尝试在Delphi 2010中使用一个Web服务。 此Web服务位于具有身份验证的端口8000上。使用身份验证的消费Web服务提供消息需要身份验证
我实现
function TForm4.EncodeLoginPW(const ALogin, APW: string): string;
begin
Result := EncdDecd.EncodeString(ALogin + ':' + APW); // EncdDecd is not documented in
end;
procedure TForm4.HTTPRIO1HTTPWebNode1BeforePost(const HTTPReqResp: THTTPReqResp;
Data: Pointer);
var
s: string;
begin
s := 'Authorization: Basic ' + EncodeLoginPW(UserName, Password);
if not HttpAddRequestHeaders(Data, PChar(s), Length(s), HTTP_ADDREQ_FLAG_ADD) then
ShowMessage('HttpAddRequestHeaders' + SysErrorMessage(GetLastError()));
end;
,但我还有消息 “需要验证”。
我做错了什么?
它是哪种认证类型?您能否使用给定的URL和端口成功执行来自Web浏览器的请求? – mjn 2010-12-16 10:26:18
反证型是基本的。 – 2010-12-16 12:54:08
您可以执行从Web浏览器到服务URL的“手动”请求吗? (浏览器通常会要求认证) – mjn 2010-12-17 08:47:10