HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl); //--需要封裝的參數
request.CookieContainer = new CookieContainer();
CookieContainer cookie = request.CookieContainer;//如果用不到Cookie,刪去即可
//以下是發送的http頭
request.Referer = "";
request.Accept = "Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
request.Headers["Accept-Language"] = "zh-CN,zh;q=0.";
request.Headers["Accept-Charset"] = "GBK,utf-8;q=0.7,*;q=0.3";
request.UserAgent = "User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.202 Safari/535.1";
request.KeepAlive = true;
//上面的http頭看情況而定,但是下面倆必須加
request.ContentType = "application/x-www-form-urlencoded";
Encoding encoding = Encoding.UTF8;//根據網站的編碼自定義
request.Method ="get"; //--需要將get改為post才可行
string postDataStr;
Stream requestStream = request.GetRequestStream();
if (postDatas != "")
{
postDataStr=postDatas;//--需要封裝,形式如“arg=arg1&arg2=arg2”
byte[] postData = encoding.GetBytes(postDataStr);//postDataStr即為發送的數據,
request.ContentLength = postData.Length;
requestStream.Write(postData, 0, postData.Length);
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(responseStream, encoding);
string retString = streamReader.ReadToEnd();
streamReader.Close();
responseStream.Close();
return retString;
如果是以流的方式提交表單數據的時候不能使用get方法,必須用post方法,
改為
request.Method ="post"; 就可以了。 做一個記號
