C#中的Http请求,包括下载网络地址的资源到本地(图片等),以下是一个操作实例:
已封装成Http类:
/// <summary>
/// 有关HTTP请求的辅助类
/// </summary>
public class Http
{
/// <summary>
/// 下载文件
/// 使用示例:
/// string filename = url.Substring(url.LastIndexOf("/") + 1, url.Length - 1 - url.LastIndexOf("/"));
/// download(url, String.Format("{0}/{1}", upload, filename));
/// </summary>
/// <param name="url">网络位置</param>
/// <param name="file">目标位置</param>
public static void download(string url, string file)
{
try
{
WebRequest request = WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream reader = response.GetResponseStream();
FileStream writer = new FileStream(file, FileMode.OpenOrCreate, FileAccess.Write);
byte[] buff = new byte[512];
int c = 0;
while ((c = reader.Read(buff, 0, buff.Length)) > 0)
{
writer.Write(buff, 0, c);
}
writer.Close();
writer.Dispose();
reader.Close();
reader.Dispose();
response.Close();
}
catch (Exception ex)
{
}
}
/// <summary>
/// 开启一个新线程下载文件
/// </summary>
/// <param name="url">网络位置</param>
/// <param name="file">目标位置</param>
public static void downloadThread(string url, string file)
{
Thread td = new Thread(new ThreadStart(() =>
{
download(url, file);
}));
td.IsBackground = true;
td.Start();
}
}