在Windows Mobile中利用WebRequest下载文件并获得响应头的信息信息

10 篇文章 0 订阅


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net;

namespace DownloadFile
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnGet_Click(object sender, EventArgs e)
        {
            Uri u = new Uri(txtUrl.Text);
            Download(u, System.Environment.GetFolderPath(Environment.SpecialFolder.Personal)/* 此处获得我的文档的路径 */);
 
        }

        private void Download(Uri address, string localPath)
        {
            string filename = "test.txt";
            WebRequest request = WebRequest.Create(address);

            //perform the GET request
            WebResponse response = request.GetResponse();

            //get stream containing received data
            Stream s = response.GetResponseStream();

            //open filestream for the output file
            FileStream fs = new FileStream(Path.Combine(localPath, filename), FileMode.Create, FileAccess.Write);

            //copy until all data is read 标准的缓存读取格式
            byte[] buffer = new byte[1024];
            int bytesRead = s.Read(buffer, 0, buffer.Length);
            while (bytesRead > 0)
            {
                fs.Write(buffer, 0, bytesRead);
                bytesRead = s.Read(buffer, 0, buffer.Length);
            }

            //close both streams
            fs.Close();
            s.Close();
            response.Close();

            MessageBox.Show("ok");
        }

        private void btnHead_Click(object sender, EventArgs e)
        {
          
            System.Net.HttpWebRequest hwr = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(txtUrl.Text);
            hwr.Method = "HEAD";
            System.Net.WebResponse response = hwr.GetResponse();
            string[] str = response.Headers.AllKeys;
            foreach (string temp in str)
            {
                this.listBox1.Items.Add("key="+temp+" length="+response.Headers[temp]);
            }
        }

        private void menuItem1_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity使用UnityWebRequest可以进行文件下载,主要使用的方法是UnityWebRequest.Get()。下面是一个简单的示例: ```csharp using UnityEngine; using UnityEngine.Networking; public class FileDownloader : MonoBehaviour { public string url = "https://example.com/examplefile.png"; public string savePath = "Assets/Downloads/examplefile.png"; public void StartDownload() { StartCoroutine(DownloadFile()); } private IEnumerator DownloadFile() { UnityWebRequest request = UnityWebRequest.Get(url); yield return request.SendWebRequest(); if (request.result != UnityWebRequest.Result.Success) { Debug.Log(request.error); } else { System.IO.File.WriteAllBytes(savePath, request.downloadHandler.data); Debug.Log("File downloaded successfully!"); } request.Dispose(); } } ``` 上述代码创建了一个FileDownloader脚本,可以将指定的url和保存路径url下载到本地。在StartDownload()方法调用了DownloadFile()协程来执行下载操作。通过UnityWebRequest.Get()方法创建一个请求,然后使用yield return request.SendWebRequest()来发送请求并等待响应。 如果请求成功(request.result == UnityWebRequest.Result.Success),则通过request.downloadHandler.data将下载文件数据保存到指定的保存路径。如果请求失败,则可以通过request.error来获取错误信息。最后,使用request.Dispose()来释放请求对象。 使用上述示例代码,可以在Unity轻松地使用UnityWebRequest下载文件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值