HttpWebRequest with GET: 401 unauthorized
本文关键字:unauthorized GET with HttpWebRequest | 更新日期: 2023-09-27 18:04:12
我发现了httpWebRequest的一些问题,我在其他论坛上读过所有相同的问题,但答案似乎不起作用。我的代码:
HttpWebRequest wr = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp;
wr.ContentType = "text/html; charset=UTF-8";
wr.Method = "GET";
wr.Credentials = new NetworkCredential("user", "password");
resp = (HttpWebResponse)wr.GetResponse();
远程服务器返回错误:(401) Unauthorized.
响应说cookie中没有验证令牌。我可以使用POST方法的授权请求来接收这个令牌。我甚至试图把它放在CookieContainer的"new Cookie ("authToken",token_value)".
,但结果是一样的- error 401
。有人知道答案吗?
谢谢。
我使用Zimbra web服务器,有权限控制它。net 4.0。我的url是我需要下载的。email文件的路径。为了指定文件,我需要添加一些GET参数:id和part。所以整个地址看起来像http://someserver.info/service/content/get?id=1∂1
(在op的评论和问题编辑中回答。搬到这里。参见没有答案的问题,但问题已在评论中解决(或在聊天中扩展))
OP写:
津巴布韦的授权令牌称为
ZM_AUTH_TOKEN
,因此您需要将authtoken
放入cookie中,如下所示:
wr.CookieContainer = new CookieContainer();
wr.CookieContainer.Add(new Uri(url), new Cookie("ZM_AUTH_TOKEN", rc.AuthToken));
你不需要放认证头,请求会工作的