实现http文件下载
static void Main(
string[] args)
{
string url =
"";
string path =
"";
HttpWebRequest request = WebRequest.Create(url)
as HttpWebRequest;
HttpWebResponse response = request.GetResponse()
as HttpWebResponse;
Stream responseStream = response.GetResponseStream();
Stream stream =
new FileStream(path, FileMode.Create);
byte[] bArr =
new byte[
1024];
int size = responseStream.Read(bArr,
0, (
int)bArr.Length);
while (size >
0)
{
stream.Write(bArr,
0, size);
size = responseStream.Read(bArr,
0, (
int)bArr.Length);
}
stream.Close();
responseStream.Close();
Console.Read();
}
次性读取response.GetResponseStream();流的所有内容
HttpWebRequest request = WebRequest
.Create(this
.txtContent.Text) as HttpWebRequest
//发送请求并获取相应回应数据
HttpWebResponse response = request
.GetResponse() as HttpWebResponse
//直到request
.GetResponse()程序才开始向目标网页发送Post请求
Stream responseStream = response
.GetResponseStream()
StreamReader streamReader = new StreamReader(responseStream)
string content = streamReader
.ReadToEnd()
CheckContent(content)
responseStream
.Close()
保存一张网络上的图片到本地。
public static bool DownloadPicture(
string picUrl,
string savePath,
int timeOut)
{
bool value =
false;
WebResponse response =
null;
Stream stream =
null;
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(picUrl);
if (timeOut != -
1) request.Timeout = timeOut;
response = request.GetResponse();
stream = response.GetResponseStream();
if (!response.ContentType.ToLower().StartsWith(
"text/"))
value = SaveBinaryFile(response, savePath);
}
finally
{
if (stream !=
null) stream.Close();
if (response !=
null) response.Close();
}
return value;
}
private static bool SaveBinaryFile(WebResponse response,
string savePath)
{
bool value =
false;
byte[] buffer =
new byte[
1024];
Stream outStream =
null;
Stream inStream =
null;
try
{
if (File.Exists(savePath)) File.Delete(savePath);
outStream = System.IO.File.Create(savePath);
inStream = response.GetResponseStream();
int l;
do
{
l = inStream.Read(buffer,
0, buffer.Length);
if (l >
0) outStream.Write(buffer,
0, l);
}
while (l >
0);
value =
true;
}
finally
{
if (outStream !=
null) outStream.Close();
if (inStream !=
null) inStream.Close();
}
return value;
}
转载请注明原文地址: https://ju.6miu.com/read-969686.html