Delphi新人学C#
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
为什么第一次请求,等半天才回执,另求封装好的Http请求类,类似Delphi的IdHTTP组件的````要支持cookie,看能求到不,我自己写的感觉很不像样namespace xxxxxx
{
class IdHTTP
{
public string ResponseText;
public int ResponseCode;
public string Charset;
public HttpWebRequest Request;
public bool KeepAlive;
public string UserAgent;
public string ContentType; public string GetHTML(string URL, string PostData, bool isPost)
{
Request = (HttpWebRequest)WebRequest.Create(URL);
Request.Method = isPost ? "POST" : "GET";
Request.KeepAlive = KeepAlive;
Request.UserAgent = UserAgent;
Request.ContentType = ContentType; try
{
if (isPost)
{
//写入POST参数
Encoding encoding = Encoding.Default;
byte[] buffer = encoding.GetBytes(PostData);
Request.ContentLength = buffer.Length;
Request.GetRequestStream().Write(buffer, 0, buffer.Length);
}
//发送请求
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
StreamReader Reader = new StreamReader(Response.GetResponseStream(), Encoding.GetEncoding(Charset));
string result = Reader.ReadToEnd();
Response.Close();
Reader.Close();
ResponseCode = Convert.ToInt32(Response.StatusCode);
ResponseText = Response.StatusDescription;
return result;
}
catch (WebException e)
{
ResponseCode = Convert.ToInt32(((HttpWebResponse)e.Response).StatusCode);
ResponseText = ((HttpWebResponse)e.Response).StatusDescription;
return ResponseText;
}
} public string Get(string URL)
{
return GetHTML(URL, "", false);
} public string Post(string URL, string PostData)
{
return GetHTML(URL, PostData, true);
}
}
}
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
为什么第一次请求,等半天才回执,另求封装好的Http请求类,类似Delphi的IdHTTP组件的````要支持cookie,看能求到不,我自己写的感觉很不像样namespace xxxxxx
{
class IdHTTP
{
public string ResponseText;
public int ResponseCode;
public string Charset;
public HttpWebRequest Request;
public bool KeepAlive;
public string UserAgent;
public string ContentType; public string GetHTML(string URL, string PostData, bool isPost)
{
Request = (HttpWebRequest)WebRequest.Create(URL);
Request.Method = isPost ? "POST" : "GET";
Request.KeepAlive = KeepAlive;
Request.UserAgent = UserAgent;
Request.ContentType = ContentType; try
{
if (isPost)
{
//写入POST参数
Encoding encoding = Encoding.Default;
byte[] buffer = encoding.GetBytes(PostData);
Request.ContentLength = buffer.Length;
Request.GetRequestStream().Write(buffer, 0, buffer.Length);
}
//发送请求
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
StreamReader Reader = new StreamReader(Response.GetResponseStream(), Encoding.GetEncoding(Charset));
string result = Reader.ReadToEnd();
Response.Close();
Reader.Close();
ResponseCode = Convert.ToInt32(Response.StatusCode);
ResponseText = Response.StatusDescription;
return result;
}
catch (WebException e)
{
ResponseCode = Convert.ToInt32(((HttpWebResponse)e.Response).StatusCode);
ResponseText = ((HttpWebResponse)e.Response).StatusDescription;
return ResponseText;
}
} public string Get(string URL)
{
return GetHTML(URL, "", false);
} public string Post(string URL, string PostData)
{
return GetHTML(URL, PostData, true);
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货