zoukankan      html  css  js  c++  java
  • C# 实现GET/POST请求

    详细代码如下

     public class MyWebRequest
        {
            private WebRequest request;
            private Stream dataStream;
    
            private string status;
    
            public String Status
            {
                get
                {
                    return status;
                }
                set
                {
                    status = value;
                }
            }
    
            public MyWebRequest(string url)
            {
                // Create a request using a URL that can receive a post.
    
                request = WebRequest.Create(url);
            }
    
            public MyWebRequest(string url, string method)
                : this(url)
            {
    
                if (method.Equals("GET") || method.Equals("POST"))
                {
                    // Set the Method property of the request to POST.
                    request.Method = method;
                }
                else
                {
                    throw new Exception("Invalid Method Type");
                }
            }
    
            public MyWebRequest(string url, string method, string data)
                : this(url, method)
            {
    
                // Create POST data and convert it to a byte array.
                string postData = data;
                byte[] byteArray = Encoding.UTF8.GetBytes(postData);
    
                // Set the ContentType property of the WebRequest.
                request.ContentType = "application/x-www-form-urlencoded";
    
                // Set the ContentLength property of the WebRequest.
                request.ContentLength = byteArray.Length;
    
                // Get the request stream.
                dataStream = request.GetRequestStream();
    
                // Write the data to the request stream.
                dataStream.Write(byteArray, 0, byteArray.Length);
    
                // Close the Stream object.
                dataStream.Close();
    
            }
    
            public string GetResponse()
            {
                // Get the original response.
                WebResponse response = request.GetResponse();
    
                this.Status = ((HttpWebResponse)response).StatusDescription;
    
                // Get the stream containing all content returned by the requested server.
                dataStream = response.GetResponseStream();
    
                // Open the stream using a StreamReader for easy access.
                StreamReader reader = new StreamReader(dataStream);
    
                // Read the content fully up to the end.
                string responseFromServer = reader.ReadToEnd();
    
                // Clean up the streams.
                reader.Close();
                dataStream.Close();
                response.Close();
    
                return responseFromServer;
            }
        }
  • 相关阅读:
    TCP源码—连接建立
    TCP系列02—连接管理—1、三次握手与四次挥手
    TCP系列01—概述及协议头格式
    ubuntu软件管理apt与dpkg
    318. Maximum Product of Word Lengths
    317. Shortest Distance from All Buildings
    316. Remove Duplicate Letters
    315. Count of Smaller Numbers After Self
    314. Binary Tree Vertical Order Traversal
    313. Super Ugly Number
  • 原文地址:https://www.cnblogs.com/Adger/p/10856771.html
Copyright © 2011-2022 走看看