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