使用WebClient.GetWebResponse方法或其他方法

时间:2015-11-27 20:05:10

标签: c# asp.net-mvc web-services web downloading

我有:

1.Host Download(我的所有文件都有,我想分享)   2. localhost服务器(简单)

我在SERVER 1上有文件:test.zip(HostDownload - Direct Link ex:http://dl.test.net/test.zip)我希望用户在SERVER 2中使用函数响应下载文件的下载链接但用户不知道实际地址
 我写了这个但没有工作:

public WebResponse GetWebRequest()
{
     string address =(@"http://dl.test.net/test.zip");
     WebRequest request =WebRequest.Create(address);
     request.Method = "POST";
     request.ContentType = "application/x-zip-compressed";
     WebResponse response1 = request.GetResponse();
     return response1;
}

1 个答案:

答案 0 :(得分:0)

嗨,实际上你的问题并不清楚,但正如我所知,你必须提出HTTP GET请求(用http下载文件)。我建议" RestSharp"对于HTTP请求,您可以使用此命令安装此软件包" Install-Package RestSharp"在你的项目" NugetPackageManager"。这是使用RestSharp执行此操作的示例:

        public byte[] GetWebRequest()
        {
           var client = new RestClient("http://dl.test.net/test.zip");
           var request = new RestRequest(Method.GET);
           IRestResponse response = client.Execute(request);
           var BytesOfFile = response.RawBytes;
           return BytesOfFile;
        }

然后在服务器2中,用户可以将Arry of Bytes转换为文件:

File.WriteAllBytes("C://downloadedData.zip", GetWebRequest());

希望能帮到你(/ _-)