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