我想与需要摘要式身份验证的局域网(http://)服务器进行通信。Indy(德尔福)Http客户端和摘要式身份验证
uses IdHttp, IdAuthenticationDigest;
...
begin
IdHttp1 := TIdHttp.Create(nil);
try
IdHttp1.Request.Username := 'xxx';
IdHttp1.Request.Password := 'xxx';
Result := IdHttp1.Get(URL)
finally
idHttp1.Free;
end;
end;
不幸的是,我收到了HTTP/1.0 401未经授权作为IdHttp1.ResponseText从服务器。如果输入用户名和密码,Firefox和Chrome都可以正常连接。
Connecting...
Resolving hostname dm7020hd.
Connecting to 192.168.1.10.
Connected.
Server: webserver/1.0
Date: Thu, 31 Jan 2013 11:28:32 GMT
WWW-Authenticate: Digest algorithm="MD5", realm="Forbidden", qop="auth", opaque="7edfc2c756ad1f795651f15f88c32b25", nonce="d2ef913b753b3b6ad8878b34b93cfc5a"
Content-Type: text/html
Cache-Control: no-store, no-cache, must-revalidate
Expires: Sat, 10 Jan 2000 05:00:00 GMT
Content-Length: 15
Last-Modified: Thu, 31 Jan 2013 11:28:32 GMT
ETag: "753868328"
Connection: close
Disconnected
我用Google搜索了很多关于这个问题:
我从SVN和Delphi 7
服务器的HTTP头(192.168.1.10局域网)已经在最新的印10显然很多人在使用indy身份验证时遇到麻烦(它是否可以工作?)。
尝试包含此行'IdHttp1.Request.BasicAuthentication:= False;'。 – TLama