Stangray
SAP THQ Apple Nintendo Google Reynolds Amazon Yahoo

 

private CookieContainer cookieContainer = = new CookieContainer();

public string RequestByPost(string url, string postData)
{
int num = 3;
string str = null;
while (num-- > 0)
{
try
{
Thread.Sleep((
int)(delayTime * 0x3e8));
HttpWebRequest request
= (HttpWebRequest)WebRequest.Create(url);
request.UserAgent
= "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727)";
request.Method
= "POST";
request.Accept
= "text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
request.KeepAlive
= true;
request.ContentType
= "application/x-www-form-urlencoded";
request.CookieContainer
= this.cookieContainer;
//request.Proxy = this.webProxy;
HttpRequestCachePolicy policy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy
= policy;
byte[] bytes = Encoding.GetEncoding("GB2312").GetBytes(postData);
request.ContentLength
= bytes.Length;
Stream requestStream
= request.GetRequestStream();
requestStream.Write(bytes,
0, bytes.Length);
requestStream.Close();
HttpWebResponse response
= (HttpWebResponse)request.GetResponse();
StreamReader reader
= new StreamReader(response.GetResponseStream(), Encoding.UTF8, true);
str
= reader.ReadToEnd();
response.Close();
reader.Close();
return str;
}
catch (Exception exception)
{
if (exception.Message.IndexOf("内部服务器错误") > 0)
{
return "(500)";
}
Logging(
"RequestByPost", exception.Message);
continue;
}
}
return str;
}


public string RequestByGet(string url)
{
int num = 3;
string str = null;
while (num-- > 0)
{
try
{
Thread.Sleep((
int)(delayTime * 0x3e8));
HttpWebRequest request
= (HttpWebRequest)WebRequest.Create(url);
request.Method
= "GET";
request.CookieContainer
= this.cookieContainer;
HttpRequestCachePolicy policy
= new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy
= policy;
HttpWebResponse response
= (HttpWebResponse)request.GetResponse();
StreamReader reader
= new StreamReader(response.GetResponseStream(), Encoding.UTF8, true);
str
= reader.ReadToEnd();
response.Close();
reader.Close();
return str;
}
catch (Exception exception)
{
if (exception.Message.IndexOf("内部服务器错误") > 0)
{
return "(500)";
}
Logging(
"RequestByGet", exception.Message);
continue;
}
}
return str;
}


 

posted on 2010-05-12 20:04  Stangray  阅读(6198)  评论(0编辑  收藏  举报