HttpRequest Get和Post調用其他頁面的方法
//Get請求方式
private string RequestGet(string Url)
{
string PageStr = string.Empty;//用于存放還回的html
Uri url = new Uri(Url);//Uri類 提供統(tǒng)一資源標識符 (URI) 的對象表示形式和對 URI 各部分的輕松訪問。就是處理url地址
try
{
HttpWebRequest httprequest = (HttpWebRequest)WebRequest.Create(url);//根據(jù)url地址創(chuàng)建HTTpWebRequest對象
#region 參數(shù)設置
httprequest.Method = "get";
//---------------------------------------------設定一些參數(shù)(不必要可以)
//httprequest.KeepAlive = false;//持久連接設置為false
//httprequest.ProtocolVersion = HttpVersion.Version11;// 網(wǎng)絡協(xié)議的版本
//httprequest.Proxy = WebProxy.GetDefaultProxy();//服務器
//httprequest.ContentType = "application/x-www-form-urlencoded";//http 頭
//httprequest.AllowAutoRedirect = true;
//httprequest.MaximumAutomaticRedirections = 10;
//httprequest.Timeout = 30000;//設定超時十秒(毫秒)
//httprequest.UserAgent = "mozilla/4.0 (compatible; msie 6.0; windows nt 5.1)"; //瀏覽器
//=================================================
#endregion
HttpWebResponse response = (HttpWebResponse)httprequest.GetResponse();//使用HttpWebResponse獲取請求的還回值
Stream steam = response.GetResponseStream();//從還回對象中獲取數(shù)據(jù)流
StreamReader reader = new StreamReader(steam, Encoding.GetEncoding("gb2312"));//讀取數(shù)據(jù)Encoding.GetEncoding("gb2312")指編碼是gb2312,不讓中文會亂碼的
PageStr = reader.ReadToEnd();
reader.Close();
}
catch (Exception e)
{
PageStr += e.Message;
}
return PageStr;
}
//Post請求方式,于Get的方式寫法相似,所以解釋就些少一點了
private string RequestPost(string Url,string Context)//兩個參數(shù)分別是Url地址和Post過去的數(shù)據(jù)
{
string PageStr=string.Empty;
Uri url = new Uri(Url);
byte[] reqbytes=Encoding.ASCII.GetBytes(Context);
try
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "post";
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = reqbytes.Length;
Stream stm = req.GetRequestStream();
stm.Write(reqbytes, 0, reqbytes.Length);
stm.Close();
HttpWebResponse wr = (HttpWebResponse)req.GetResponse();
Stream stream = wr.GetResponseStream();
StreamReader srd= new StreamReader(stream,Encoding.GetEncoding("gb2312"));
PageStr += srd.ReadToEnd();
stream.Close();
srd.Close();
}
catch (Exception e)
{
PageStr += e.Message;
}
return PageStr;
}
public string WebClientGet(string url)
{
var client = new WebClient();
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
var stream = client.OpenRead(url);
if (stream == null) return "";
var reader = new StreamReader(stream, Encoding.Default);
var result = reader.ReadToEnd();
stream.Close();
reader.Close();
return result;
}
相關文章
asp.net(C#)把漢字轉化成全拼音函數(shù)(全拼)
asp.net(C#)把漢字轉化成全拼音函數(shù)的代碼,需要的朋友可以參考下。2009-12-12ASP.Net執(zhí)行cmd命令的實現(xiàn)代碼
ASP.Net執(zhí)行cmd命令的實現(xiàn)代碼,需要的朋友可以參考下。2011-02-02在IIS上重新注冊.NET Framework 2.0的命令和參數(shù)詳解
這篇文章主要介紹了在IIS上重新注冊.NET Framework 2.0的命令和參數(shù)詳解,但其它.NET Framework 版本沒有測試,需要的朋友可以參考下2014-07-07asp.net 仿騰訊微薄提示 還能輸入*個字符 的實現(xiàn)代碼
asp.net 仿騰訊微薄提示 還能輸入*個字符 的實現(xiàn)代碼,需要的朋友可以參考下。2011-10-10ASP.NET?MVC使用Knockout獲取數(shù)組元素索引的2種方法
這篇文章介紹了ASP.NET?MVC使用Knockout獲取數(shù)組元素索引的2種方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-08-08