POST常用请求

//POST获取数据
public static string PostToUrl(string url, string postData)
{
    HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);
    hwr.Method = "POST";
    Stream stream = hwr.GetRequestStream();
    StreamWriter sw = new StreamWriter(stream, System.Text.Encoding.UTF8);
    sw.Write(postData);
    sw.Close();

    stream = hwr.GetResponse().GetResponseStream();
    StreamReader sr = new StreamReader(stream, System.Text.Encoding.UTF8);
    string ret = sr.ReadToEnd();
    sr.Close();
    return ret;
}
//POST模拟Form提交数据
public static string PostFormToUrl(string url, string postString)
{
    try
    {
        byte[] postData = Encoding.UTF8.GetBytes(postString);//编码,尤其是汉字,事先要看下抓取网页的编码方式              
        WebClient webClient = new WebClient();
        webClient.Headers.Add("Content-Type", "application/x-www-form-urlencoded");//采取POST方式必须加的header,如果改为GET方式的话就去掉这句话即可  
        byte[] responseData = webClient.UploadData(url, "POST", postData);//得到返回字符流  
        string srcString = Encoding.UTF8.GetString(responseData);//解码
        return srcString;
    }
    catch (Exception ex) { return ""; }
}
//POST模拟Form提交数据
public static string PostFormData(string url, string data)
{
    // Convert to bytes
    string strReturn = "";
    try
    {
        byte[] obtPostData = Encoding.UTF8.GetBytes(data);
        HttpWebRequest orqRequest = (HttpWebRequest)WebRequest.Create(url);
        orqRequest.Timeout = 30000;
        orqRequest.Method = "POST";
        orqRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3";
        //orqRequest.Referer = LoginRefererUrl;
        orqRequest.ContentType = "application/x-www-form-urlencoded";
        orqRequest.ContentLength = obtPostData.Length;
        orqRequest.AllowAutoRedirect = false;
        // Add post data to request
        Stream stream;
        using (stream = orqRequest.GetRequestStream())
        {
            stream.Write(obtPostData, 0, obtPostData.Length);
        }
        HttpWebResponse orsResponse = (HttpWebResponse)orqRequest.GetResponse();
        using (Stream responseStream = orsResponse.GetResponseStream())
        {
            using (StreamReader streamRead = new StreamReader(responseStream, Encoding.UTF8))
            {
                strReturn = streamRead.ReadToEnd();
            }
        }
    }
    catch (Exception e)
    {
        //throw new Exception(e.Message);
    }
    return strReturn;
}

 

posted @ 2019-11-11 02:07  全栈攻城师  阅读(545)  评论(0)    收藏  举报