我发现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.
响应说饼干中没有身份验证令牌。我可以使用POST方法使用我的auth请求接收此令牌。我甚至试图通过"new Cookie ("authToken",token_value)".
将它放到CookieContainer但结果是相同的 - error 401
。有人知道解决方案吗?
感谢名单。
我使用Zimbra web服务器,有权控制它。 .NET 4.0。我的网址是我需要下载的.eml文件的路径。要指定文件,我需要添加一些GET参数:id和part。所以整个地址看起来像http://someserver.info/service/content/get?id=1&part=1
答案 0 :(得分:0)
(在OP的评论和问题编辑中回答。移到这里。见Question with no answers, but issue solved in the comments (or extended in chat))
OP写道:Zimbra中的授权令牌称为
ZM_AUTH_TOKEN
,因此您需要将authtoken
放入这样的Cookie中:
wr.CookieContainer = new CookieContainer();
wr.CookieContainer.Add(new Uri(url), new Cookie("ZM_AUTH_TOKEN", rc.AuthToken));
您不需要放置auth标头,请求将起作用