使用 WebClient 类将数据下载或上传到 URL/URI(.NET Framework)。
WebClient是一种非常基本、简单的从特定 URI 请求数据的方法。最简单的方法是DownloadFile()采用 URI,然后采用保存数据的路径。
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, System.EventArgs e)
{
using (System.Net.WebClient wc = new System.Net.WebClient())
{
wc.DownloadFile("http://www.prowaretech.com/", Server.MapPath("/") + "homepage.html");
Response.Redirect("homepage.html");
}
}
</script>
<html>
<head><title></title></head>
<body>
</body>
</html>
要在应用程序内处理数据,请使用方法OpenRead()获取System.IO.Stream对象。
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, System.EventArgs e)
{
using (System.Net.WebClient wc = new System.Net.WebClient())
{
using (System.IO.Stream stream = wc.OpenRead("http://www.prowaretech.com/"))
{
using (System.IO.StreamReader reader = new System.IO.StreamReader(stream))
{
Response.Write(reader.ReadToEnd());
}
}
}
}
</script>
要向服务器发送Cookie Headers.Add() ,请使用方法。
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, System.EventArgs e)
{
using (System.Net.WebClient wc = new System.Net.WebClient())
{
wc.Headers.Add("Cookie: username=mrsmith");
using (System.IO.Stream stream = wc.OpenRead("http://www.prowaretech.com/"))
{
using (System.IO.StreamReader reader = new System.IO.StreamReader(stream))
{
Response.Write(reader.ReadToEnd());
}
}
}
}
</script>
要将文件等数据发送到服务器,请使用该UploadFile()方法。
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, System.EventArgs e)
{
using (System.Net.WebClient wc = new System.Net.WebClient())
{
wc.UploadFile("http://www.domain.com/NewFileName.jpg", @"C:\Images\File.jpg");
}
}
</script>
该UploadData()方法允许上传二进制数据。
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, System.EventArgs e)
{
using (System.Net.WebClient wc = new System.Net.WebClient())
{
byte[] bytes = { 1, 9, 2, 5, 3, 4, 7, 8, 9, 5, 3, 1, 7, 9, 0 };
wc.UploadData("http://www.domain.com/BinaryData.bin", bytes);
}
}
</script>
要将数据(如 POST)发送到 URI 并检索响应,请使用更复杂但更全面的 WebRequest&WebResponse对象。
这里没有介绍另一种方法:OpenWrite(),该方法允许 HTTP PUT 操作。它不会获取响应,因此用处不大。还有一种DownloadData()方法用于下载到字节数组中。
如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。