WebClient 数据传输

数据提交 post  ,get

public string WebClientPost(string PostData, string PostUrl, string Type)
  {
      string postString = PostData;
      byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式
      string url = PostUrl;//地址
      WebClient webClient = new WebClient();
      byte[] responseData = null;
      if (Type == "post")
      {
          webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");//采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可
          responseData = webClient.UploadData(url, "POST", postData);//得到返回字符流
      }
      else
      {
          responseData = webClient.UploadData(url, "GET", postData);//得到返回字符流
      }
      string srcString = Encoding.UTF8.GetString(responseData);//解码
      return srcString;
  }

文件解析

1转为JObject

            string _Result = PostData(Appid, AppKey, imgSrc, "", "post");
            JObject jsonData = JObject.Parse(_Result);
            JArray jsonFace = jsonData.GetValue("face") as JArray;
            if (jsonFace == null)
            {
                msg = "err" + "," + "格式不对";
            }
            else
            {

                int height = 0;
                int width = 0;
                int center_x = 0;
                int center_y = 0;
                string sex = "";
                if (jsonFace != null && jsonFace.Count > 0)
                {
                    height = int.Parse(jsonFace[0]["position"]["height"].ToString());
                    width = int.Parse(jsonFace[0]["position"]["width"].ToString());
                    center_x = int.Parse(jsonFace[0]["position"]["center"]["x"].ToString());
                    center_y = int.Parse(jsonFace[0]["position"]["center"]["y"].ToString());
                    sex = jsonFace[0]["attribute"]["gender"].ToString();
                }             }

2   Dictionary

 Dictionary<string, object> objJson = JsonConvert.DeserializeObject<Dictionary<string, object>>(request);
            string state = objJson["state"].ToString();

数据下载

string imgSrc = context.Request.Form["ImgUrl"].ToString();  //服务器连接 

string FileDir = "/PublicResource/";
           string AppName = System.Configuration.ConfigurationManager.AppSettings["AppName"];

           if (!string.IsNullOrEmpty(AppName))
           {
               FileDir = "/PublicResource/" + AppName + "/";
           }
           Guid NewId = Guid.NewGuid();
           WebClient wc = new WebClient();
           string WXPath = context.Server.MapPath(FileDir + NewId.ToString() + ".jpg");
           wc.DownloadFile(imgSrc, WXPath);
时间: 2024-08-03 01:10:29

WebClient 数据传输的相关文章

winform客户端利用webClient实现与Web服务端的数据传输

由于项目需要,最近研究了下WebClient的数据传输.关于WebClient介绍网上有很多详细介绍,大概就是利用WebClient可以实现对Internet资源的访问.无外乎客户端发送请求,服务端处理请求.回应请求.所以,我下面就简单描述下学习过程中遇到的一些问题: 1.关于Winform客户端请求 WebClient wc = new WebClient();//初始化webclient string path = "http://192.168.1.115:8089/Handler1.as

关于数据传输中加密解密那点事儿(一)

随着互联网的兴起,越来越多的信息和资源要通过网络传输完成:然而在这些数据传输中总有一些"无关人员"做一些窃听.盗取.篡改等危害数据安全的行为,所以我们要对数据进行加密处理,以保证数据的安全传输: 所以有了一下几种加密方式: 一.对称加密: 这种算法简单来说就是 数据的发送方和接收方都必须要有同一种密钥(加密数据所用到的密钥),在数据的传输中 数据与密钥都通过加密的方式传送: 特性:在数据加密中,数据被分成固定大的块,逐个加密:加密和解密速度也快: 缺陷:因为加密和解密使用同一种密钥,所

C#利用WebClient 两种方式下载文件

WebClient client = new WebClient(); 第一种 string URLAddress = @"http://files.cnblogs.com/x4646/tree.zip"; string [email protected]"C:\"; client.DownloadFile(URLAddress, receivePath + System.IO.Path.GetFileName(URLAddress)); 就OK了. 第二种 Str

ajax之前台和后台数据传输

Spring中ajax数据传输 由于项目需要用ajax提交数据,而不是form提交数据.因此我需要学习ajax,这也是我在开发小组做的最后一个东西,尽管由于暑假要去东软实训,这个ajax提交也没有做完,但对于数据的在前台和后台的传递是解决了. 如何把数据通过ajax从前台传到后台,在网上查询的方法都是通过"data:"把数据传到后台,但是后台"String endTime=request.getParameter("eTime");"时间的值是空

wp8通过WebClient从服务器下载文件

通过WebClient从Web服务器下载文件,并保存到wp8手机应用程序的独立存储. 我们可以通过利用webClient_DownloadStringCompleted来获得下载完成所需要的时间,用Stopwatch得到下载的总时间. 通常我们都将上传.下载作为异步事件来处理,以便不阻止主线程. String url = "http://172.18.144.248:8080/upload/" + filename; WebClient client = new WebClient()

openssl与数据传输安全

数据安全服务的几个方面:     1.认证             访问控制 阻止对资源的未授权访问     2.数据保密性      3.数据完整性          要保证发送方所发送的数据没有被修改...     4.不可否认性 一.怎么验证数据的完整性.也就怎么知道数据在传输的过程中没有被修改过.这就要使用到单向加密算法,提取数据的指纹(特征码). 数据的传输双方为:甲.乙 甲:在数据传输之前,提取该数据的"指纹"然后,把数据指纹附加在数据中一起发送给乙. 乙:接收到该数据以后

winform下通过webclient使用非流方式上传(post)数据和文件

这两天因为工作的需要,需要做一个winform上传数据到服务器端的程序.当时第一个想法是通过webservice的方式来实现,后来觉得麻 烦,想偷懒就没有用这样的方式,http的post方式变成了第一选择.因为以前用的都是httpwebrequest之类的东西进行post提 交,winform下面还真的是第一次,不过很快就在网上找到了webclient这个类,接下来开始实现功能,话说webclient用起来还真的很简 单,一个头信息的声明,然后是URL,最后是post的数据,就完事了.正在高兴的

使用WebClient类对网页下载源码,对文件下载保存及异步下载并报告下载进度

private void button1_Click(object sender, EventArgs e) { WebClient webclient = new WebClient(); webclient.Proxy = null; webclient.Encoding = Encoding.UTF8; richTextBox1.AppendText(webclient.DownloadString(textBox1.Text.Trim())); webclient.Dispose();

NTB EEPROM设置与跨节点数据传输

NTB EEPROM设置与跨节点数据传输 双控双活系统中除了需要监测系统状态的心跳之外,还需要能够跨节点传输数据的通道.PCIE非透明桥(NTB)由于其基于标准的PCIE规范,软件依赖少,速度快,配置简便,受到许多人的青睐.基于PCIE NTB进行跨节点数据传输的原理很简单,如下图所示意: 较之于普通的PCIE/PCI设备的配置空间寄存器,NTB上多了bar2/3,bar4/bar5的地址转换寄存器,本地节点发送过来的命中bar2/bar3或者bar4/bar5的TLP的地址高位会转换成相应的地