ASP.Net Post方式获取数据流的一种简单写法

时间:2022-09-14 10:53:09

最近在弄一些第三方的平台,经常调用第三方的接口实现某些特定的功能

在实现的同时基本上都需要本地的数据经过服务器在Request到第三方的服务器中处理,再返回相应的数据结构体:json/xml

以下是我总结的一个小方法,请农友们笑纳:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
public static string PostWebReq(string PostUrl, string ParamData, Encoding DataEncode)
    {
      string ret = string.Empty;
      try
      {
        byte[] byteArray = DataEncode.GetBytes(ParamData);
        HttpWebRequest webReq = (HttpWebRequest)WebRequest.Create(new Uri(PostUrl));
        webReq.Method = "POST";
        webReq.ContentType = "application/x-www-form-urlencoded";
        webReq.ContentLength = byteArray.Length;
 
        Stream newStream = webReq.GetRequestStream();
        newStream.Write(byteArray, 0, byteArray.Length);
        newStream.Close();
 
        HttpWebResponse response = (HttpWebResponse)webReq.GetResponse();
        StreamReader sr = new StreamReader(response.GetResponseStream(), DataEncode);
        ret = sr.ReadToEnd();
 
        sr.Close();
        response.Close();
        newStream.Close();
      }
      catch (WebException ex)
      {
        Log.WriteLog(LogFile.Error, ex.Message);
      }
      finally
      {
        Log.WriteLog(LogFile.Info, ret);
      }
      return ret;
    }