【发布时间】:2013-06-05 16:14:46
【问题描述】:
public static byte[] BBStorageGetFile(string filePath, int projectId)
{
var queryString = QueryStringEncoder.bbs_encode("a=g&p=" + filePath + "&s=" + projectId);
var url = "http://www.buildbinder.com/base/storageFile.aspx?" + queryString;
string urlB = HttpContext.Current.Request.Url.ToString();
if (urlB.Contains("intranet.buildbinder.com"))
{
url = "http://intranet.buildbinder.com:8000/base/storageFile.aspx?" + queryString;
}
Uri uri = new Uri(url);
WebClient webClient = new WebClient();
webClient.Credentials = CredentialCache.DefaultCredentials;
webClient.UseDefaultCredentials = true;
webClient.Headers.Add(HttpRequestHeader.Cookie, "culture");
webClient.Headers.Add(HttpRequestHeader.Cookie, "mySession");
webClient.Headers.Add(HttpRequestHeader.ContentType, "application/x-www-form-urlencoded");
webClient.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
byte[] file = webClient.DownloadData(uri);
return file;
}
【问题讨论】:
-
看起来您正在使用请求标头发送带有会话值的 cookie,但我看不到您在哪里获取/设置 cookie 值
-
无法识别cookie,它包含下载的会话信息
标签: c# asp.net-mvc webclient