请求url数据

  1 using System;
  2 using System.Collections.Generic;
  3 using System.IO;
  4 using System.Linq;
  5 using System.Net;
  6 using System.Text;
  7 using System.Threading.Tasks;
  8 
  9 namespace TheDataTransfer.Dao
 10 {
 11     class Transfer
 12     {
 13         /*
 14     *  url:POST请求地址
 15     *  postData:json格式的请求报文,例如:{"key1":"value1","key2":"value2"}
 16     */
 17 
 18      public static string PostJsonUrl(string url, string postData)
 19         {
 20             string result = "";
 21 
 22             HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
 23 
 24             req.Method = "POST";
 25 
 26             req.Timeout = 800;//设置请求超时时间,单位为毫秒
 27 
 28             req.ContentType = "application/json";
 29 
 30             byte[] data = Encoding.UTF8.GetBytes(postData);
 31 
 32             req.ContentLength = data.Length;
 33 
 34             using (Stream reqStream = req.GetRequestStream())
 35             {
 36                 reqStream.Write(data, 0, data.Length);
 37 
 38                 reqStream.Close();
 39             }
 40 
 41             HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
 42 
 43             Stream stream = resp.GetResponseStream();
 44 
 45             //获取响应内容
 46             using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
 47             {
 48                 result = reader.ReadToEnd();
 49             }
 50 
 51             return result;
 52         }
 53 
 54 
 55 
 56      public static string PostXmlUrl(string url, string Data)
 57      {
 58          string result = "";
 59 
 60          StreamWriter myWriter = null;
 61 
 62          HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
 63          objRequest.Method = "POST";
 64          objRequest.ContentLength = Data.Length;
 65          objRequest.ContentType = "text/xml";//提交xml 
 66          //objRequest.ContentType = "application/x-www-form-urlencoded";//提交表单
 67          try
 68          {
 69              myWriter = new StreamWriter(objRequest.GetRequestStream());
 70              myWriter.Write(Data);
 71          }
 72          catch (Exception e)
 73          {
 74              return e.Message;
 75          }
 76          finally
 77          {
 78              myWriter.Close();
 79          }
 80 
 81          HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
 82          using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
 83          {
 84              result = sr.ReadToEnd();
 85              sr.Close();
 86          }
 87          return result;
 88      }
 89 
 90 
 91 
 92      protected string GetWebContent(string url)
 93      {
 94          Stream outstream = null;
 95          Stream instream = null;
 96          StreamReader sr = null;
 97          HttpWebResponse response = null;
 98          HttpWebRequest request = null;
 99          // 要注意的这是这个编码方式,还有内容的Xml内容的编码方式
100          Encoding encoding = Encoding.GetEncoding("GBK");
101          byte[] data = encoding.GetBytes(url);
102 
103          // 准备请求,设置参数
104          request = WebRequest.Create(url) as HttpWebRequest;
105          request.Method = "POST";
106          //request.ContentType = "text/plain";
107          request.ContentLength = data.Length;
108 
109          outstream = request.GetRequestStream();
110          outstream.Write(data, 0, data.Length);
111          outstream.Flush();
112          outstream.Close();
113          //发送请求并获取相应回应数据
114 
115          response = request.GetResponse() as HttpWebResponse;
116          //直到request.GetResponse()程序才开始向目标网页发送Post请求
117          instream = response.GetResponseStream();
118          sr = new StreamReader(instream, encoding);
119          //返回结果网页(html)代码
120 
121          string content = sr.ReadToEnd();
122          return content;
123      }
124     }
125 }

 

posted on 2018-12-04 10:24  勤学才是王道  阅读(231)  评论(0编辑  收藏  举报

导航