我正在从.NET连接到Web服务,例如:
var request = (HttpWebRequest) WebRequest.Create(uri);
request.Credentials = new NetworkCredential("usr", "pwd", "domain");
var response = (HttpWebResponse) request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
授权标头如下所示:
Authorization: Digest username="usr",realm="domain",nonce="...",
uri="/dir",algorithm="MD5",etc...
^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
服务器返回(400)错误请求.Chrome或IE发送的标头如下:
Authorization: Digest username="usr", realm="domain", nonce="...",
uri="/dir/query?id=1", algorithm=MD5, etc...
^^^^^^^^^^^^^^^^^^^^^
Run Code Online (Sandbox Code Playgroud)
我们怀疑URI的不同导致Web服务拒绝400错误的请求.是否有可能使HttpRequest发出包含完整URI的Authorization标头?