A simple way to write data streams in ASP.Net Post mode

  • 2021-06-28 12:20:33
  • OfStack

Recently, some third-party platforms have been working on, often invoking third-party interfaces to implement certain functions

Basic implementation requires local data to be processed by the server from Request to the third-party server and returned to the appropriate data structure: json/xml

Here is a small method that I summarized. Please laugh with the peasants:


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;
    }


Related articles: