最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

HttpWebRequest的常見錯誤使用TcpClient可避免

 更新時間:2013年02月26日 17:32:13   作者:  
有時使用HttpWebRequest對象會出現(xiàn)錯誤有三種服務器提交了協(xié)議沖突/基礎(chǔ)連接已經(jīng)關(guān)閉:連接被意外關(guān)閉/無法發(fā)送具有此謂詞類型的內(nèi)容正文,感興趣的朋友可以參考下本文
有時使用HttpWebRequest對象會出現(xiàn)錯誤,總結(jié)有三種:
1、System.Net.WebException: 服務器提交了協(xié)議沖突. Section=ResponseStatusLine
2、System.Net.WebException: 基礎(chǔ)連接已經(jīng)關(guān)閉: 連接被意外關(guān)閉。
3、System.Net.ProtocolViolationException: 無法發(fā)送具有此謂詞類型的內(nèi)容正文。
使用TcpClient對象搞定
復制代碼 代碼如下:

private string GetHTMLTCP(string URL)
{
string strHTML = "";//用來保存獲得的HTML代碼
TcpClient clientSocket = new TcpClient();
Uri URI = new Uri(URL);
clientSocket.Connect(URI.Host, URI.Port);
StringBuilder RequestHeaders = new StringBuilder();//用來保存HTML協(xié)議頭部信息
RequestHeaders.AppendFormat("{0} {1} HTTP/1.1\r\n", "GET", URI.PathAndQuery);
RequestHeaders.AppendFormat("Connection:close\r\n");
RequestHeaders.AppendFormat("Host:{0}\r\n", URI.Host);
RequestHeaders.AppendFormat("Accept:*/*\r\n");
RequestHeaders.AppendFormat("Accept-Language:zh-cn\r\n");
RequestHeaders.AppendFormat("User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)\r\n\r\n");
Encoding encoding = Encoding.Default;
byte[] request = encoding.GetBytes(RequestHeaders.ToString());
clientSocket.Client.Send(request);
//獲取要保存的網(wǎng)絡流
Stream readStream = clientSocket.GetStream();
StreamReader sr = new StreamReader(readStream, Encoding.Default);
strHTML = sr.ReadToEnd();
readStream.Close();
clientSocket.Close();
return strHTML;
}

使用 HttpWebRequest請求頁面
復制代碼 代碼如下:

///
/// 獲取html源碼
///
///
///
///
static string GetHTML(string url, string param)
{
try
{
Uri uri = new Uri(url);
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(uri);
myReq.Headers.Add("Accept-Encoding", "gzip,deflate");//sdch
byte[] byData = Encoding.Default.GetBytes(param);
myReq.Method = "post";
myReq.ContentLength = byData.Length;
Stream reqStrem = myReq.GetRequestStream();
reqStrem.Write(byData, 0, byData.Length);
reqStrem.Close();
HttpWebResponse result = (HttpWebResponse)myReq.GetResponse();
Stream recStream = result.GetResponseStream();
//如果是Gzip方式則需要解壓
recStream = new GZipStream(recStream, CompressionMode.Decompress);
StreamReader redStream = new StreamReader(recStream, System.Text.Encoding.Default);
string strHTML = redStream.ReadToEnd();
redStream.Close();
recStream.Close();
result.Close();
return strHTML;
}
catch (Exception)
{
return "";
}
}

相關(guān)文章

  • 如何在.NET Core應用中使用NHibernate詳解

    如何在.NET Core應用中使用NHibernate詳解

    NHibernate 是一個基于.Net 的針對關(guān)系型數(shù)據(jù)庫的對象持久化類庫。下面這篇文章主要給大家介紹了關(guān)于如何在.NET Core應用中使用NHibernate的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-08-08
  • asp.net后臺彈窗如何實現(xiàn)

    asp.net后臺彈窗如何實現(xiàn)

    這篇文章主要介紹了asp.net后臺彈窗如何實現(xiàn),需要的朋友可以參考下
    2014-02-02
  • ASP.NET Core3.1 Ocelot負載均衡的實現(xiàn)

    ASP.NET Core3.1 Ocelot負載均衡的實現(xiàn)

    這篇文章主要介紹了ASP.NET Core3.1 Ocelot負載均衡的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • .NET?Core剪裁器背后的技術(shù)及工作原理介紹

    .NET?Core剪裁器背后的技術(shù)及工作原理介紹

    這篇文章主要介紹了揭秘.NET?Core剪裁器背后的技術(shù),很多朋友對于這個開源項目的原理很感興趣,因此我將通過這篇文章為大家介紹它的工作原理,需要的朋友可以參考下
    2022-03-03
  • MVC+EasyUI+三層新聞網(wǎng)站建立 主頁布局的方法(五)

    MVC+EasyUI+三層新聞網(wǎng)站建立 主頁布局的方法(五)

    這篇文章主要為大家詳細介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第五篇,教大家如何進行主頁布局,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • CheckBox控件默認選中,提交時永遠獲得選中狀態(tài)的實現(xiàn)代碼

    CheckBox控件默認選中,提交時永遠獲得選中狀態(tài)的實現(xiàn)代碼

    下面小編就為大家?guī)硪黄狢heckBox控件默認選中,提交時永遠獲得選中狀態(tài)的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • ASP.NET中基于soaphead的webservice安全機制

    ASP.NET中基于soaphead的webservice安全機制

    常會用到WebService來通訊,但WebService發(fā)布后為了能調(diào)用,一般都通過發(fā)布到IIS后調(diào)用 的。在IIS里可以通過匿名訪問,但這樣大家都可能訪問,不安全,下面提供一種基于soaphead的安全機制。
    2016-05-05
  • C#.net格式化時間字符串達到不同的顯示效果

    C#.net格式化時間字符串達到不同的顯示效果

    時候我們要對時間進行轉(zhuǎn)換,達到不同的顯示效果,本文將幫助你實現(xiàn)這個多彩的效果,整理很詳細,以備不時之需,感興趣的朋友可以了解下,或許本文對你有所幫助
    2013-01-01
  • 使用vs2019加.net core 對WeiApi的創(chuàng)建過程詳解

    使用vs2019加.net core 對WeiApi的創(chuàng)建過程詳解

    這篇文章主要介紹了使用vs2019加.net core 對WeiApi的創(chuàng)建,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 淺談對Lambda表達式的理解

    淺談對Lambda表達式的理解

    “Lambda 表達式”(lambda expression)是一個匿名函數(shù),Lambda表達式基于數(shù)學中的λ演算得名,直接對應于其中的lambda抽象(lambda abstraction),是一個匿名函數(shù),即沒有函數(shù)名的函數(shù)。Lambda表達式可以表示閉包(注意和數(shù)學傳統(tǒng)意義上的不同)。
    2015-07-07

最新評論

广德县| 呼和浩特市| 江永县| 广南县| 女性| 嘉义市| 修文县| 萨嘎县| 潮州市| 通榆县| 灵武市| 纳雍县| 瑞昌市| 万年县| 延长县| 黄石市| 阿图什市| 镇原县| 四平市| 杂多县| 沂南县| 琼中| 宿迁市| 华亭县| 鄱阳县| 肥东县| 沙洋县| 绵竹市| 金坛市| 永泰县| 滕州市| 长治县| 石狮市| 新乡市| 大竹县| 固原市| 恭城| 社会| 曲周县| 湖州市| 凉城县|