[英]consuming web service with authentication allways give message Authentication required
我尝试在Delphi 2010中使用消耗一种Web服务。该Web服务位于具有身份验证的端口8000上。
我实施
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;
但我仍然收到消息“需要身份验证”。
我做错什么了吗?
对于基本身份验证,这应该起作用:
正如在解释这个帖子 ,德尔福的较新版本还允许使用
HTTPRio.HTTPWebNode.UserName := Username;
HTTPRio.HTTPWebNode.Password := Password;
如果仍然无法正常工作,则可以尝试使用其他客户端(.Net或Java),并在本地代理( Fiddler或Don's Proxy )或嗅探器(WireShark)的帮助下比较HTTP流量,以找到相关的区别。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.