123456789101112131415161718192021222324252627282930313233343536373839 |
private
string
HttpPost(
string
Url,
string
postDataStr)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method =
"POST"
;
request.ContentType =
"application/x-www-form-urlencoded"
;
request.ContentLength = Encoding.UTF8.GetByteCount(postDataStr);
request.CookieContainer = cookie;
Stream myRequestStream = request.GetRequestStream();
StreamWriter myStreamWriter =
new
StreamWriter(myRequestStream, Encoding.GetEncoding(
"gb2312"
));
myStreamWriter.Write(postDataStr);
myStreamWriter.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
response.Cookies = cookie.GetCookies(response.ResponseUri);
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader =
new
StreamReader(myResponseStream, Encoding.GetEncoding(
"utf-8"
));
string
retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return
retString;
}
public
string
HttpGet(
string Url,
string
postDataStr)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr ==
""
?
""
:
"?"
) + postDataStr);
request.Method =
"GET"
;
request.ContentType =
"text/html;charset=UTF-8"
;
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader =
new
StreamReader(myResponseStream, Encoding.GetEncoding(
"utf-8"
));
string
retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
return
retString;
}
|
Sometimes also used in the post of the cookie, like login 163 email when you need to send a cookie, so in the external a cookie property at any time to save Cookiecontainer cookie = new Cookiecontainer ();
! Note: Sometimes the request is redirected, but we need to get something from the redirect URL, such as the success of the QQ login to get the SID, but the above will automatically follow the redirect address to jump. We can use:
Request. AllowAutoRedirect = false; Set redirect disabled, you can get the redirect address from the Headers Location property
C # impersonate HTTP to send a post or GET request