模擬Post請求

此文摘自csdn青山的博客地址:http://blog.csdn.net/a497785609/article/details/6437154app

本人隨筆只爲方便本身查閱,也爲廣大網友提供方便,不喜勿噴!post

    #region  向Url發送post請求  
    /// <summary>  
    /// 向Url發送post請求  
    /// </summary>  
    /// <param name="postData">發送數據</param>  
    /// <param name="uriStr">接受數據的Url</param>  
    /// <returns>返回網站響應請求的回覆</returns>  
    public static string RequestPost(string postData, string uriStr)  
    {  
        HttpWebRequest requestScore = (HttpWebRequest)WebRequest.Create(uriStr);  
      
        ASCIIEncoding encoding = new ASCIIEncoding();  
        byte[] data = encoding.GetBytes(postData);  
        requestScore.Method = "Post";  
        requestScore.ContentType = "application/x-www-form-urlencoded";  
        requestScore.ContentLength = data.Length;  
        requestScore.KeepAlive = true;  
      
        Stream stream = requestScore.GetRequestStream();  
        stream.Write(data, 0, data.Length);  
        stream.Close();  
      
        HttpWebResponse responseSorce;  
        try  
        {  
            responseSorce = (HttpWebResponse)requestScore.GetResponse();  
        }  
        catch (WebException ex)  
        {  
            responseSorce = (HttpWebResponse)ex.Response;//獲得請求網站的詳細錯誤提示  
        }  
        StreamReader reader = new StreamReader(responseSorce.GetResponseStream(), Encoding.UTF8);  
        string content = reader.ReadToEnd();  
      
        requestScore.Abort();  
        responseSorce.Close();  
        responseSorce.Close();  
        reader.Dispose();  
        stream.Dispose();  
        return content;  
    }  
    #endregion  

 接收數據方法,網站

    /// <summary>  
    /// 獲得程序post過來的數據  
    /// </summary>  
    /// <returns></returns>  
    private string GetPostContent()  
    {  
        string postStr = string.Empty;  
        Stream inputStream = Request.InputStream;  
        int contentLength = Request.ContentLength;  
        int offset = 0;  
        if (contentLength > 0)  
        {  
            byte[] buffer = new byte[contentLength];  
            for (int i = inputStream.Read(buffer, offset, contentLength - offset); i > 0; i = inputStream.Read(buffer, offset, contentLength - offset))  
            {  
                offset += i;  
            }  
            UTF8Encoding encoding = new UTF8Encoding();  
            postStr = encoding.GetString(buffer);  
        }  
        return postStr;  
    }  
相關文章
相關標籤/搜索