日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

园林空气净化器永久测试版

發布時間:2024/4/15 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 园林空气净化器永久测试版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

首先這是一個用Jumony技術驅動的好玩的東西,需要先下載Jumony M1然后添加引用。

其次只提供源代碼,不負責任何技術支持,遇到任何問題請自己去修改。

?

這款凈化器的主要功能就是降糖降脂,促進新陳代謝,有益身心健康,但有造成頁面崩潰等嚴重副作用,大家慎重選擇。

?

如何使用?

首先編譯成一個控制臺程序,運行。然后修改host文件,加入127.0.0.1 www.cnblogs.com。最后關掉瀏覽器,重新打開www.cnblogs.com就可以了。

?

該程序在有UAC控制的系統中,需要以管理員身份運行。

?

源代碼如下:

?

using?System;
using?System.IO;
using?System.Linq;
using?System.Net;
using?System.Runtime.Serialization;
using?System.Runtime.Serialization.Json;
using?System.Text;
using?System.Text.RegularExpressions;
using?Ivony.Fluent;
using?Ivony.Web.Html;
using?Ivony.Web.Html.HtmlAgilityPackAdaptor;
using?HtmlAgilityPack;
using?System.Threading;
namespace?CnblogsCleaner
{
??class?Program
??{

????static?void?Main(?string[]?args?)
????{

??????var?listener?=?new?HttpListener();
??????listener.Prefixes.Add(?"http://*/"?);

??????listener.Start();

??????while?(?true?)
??????{
????????var?context?=?listener.GetContext();
????????//ProcessContext(?context?);
????????((Action)?delegate?{?ProcessContext(?context?);?}).BeginInvoke(?null,?null?);


??????}
????}


????private?static?void?ProcessContext(?HttpListenerContext?context?)
????{

??????try
??????{


????????if?(?!context.Request.Url.Host.EndsWith(?"cnblogs.com"?)?)
??????????return;

????????var?builder?=?new?UriBuilder(?context.Request.Url?);

????????builder.Host?=?"222.92.117.56";

????????Console.WriteLine(?context.Request.Url?);

????????var?match?=?userBlogUrlRegex.Match(?context.Request.Url.AbsoluteUri?);

????????if?(?blockedUsers.Contains(?match.Groups["username"].Value?)?)
????????{
??????????context.Response.StatusCode?=?200;
??????????context.Response.ContentEncoding?=?Encoding.UTF8;
??????????using?(?var?writer?=?new?StreamWriter(?context.Response.OutputStream,?Encoding.UTF8?)?)
??????????{
????????????writer.WriteLine(?"此頁面有害身心健康,已被園林空氣凈化器凈化,如需查看,請關閉凈化器。"?);
??????????}
????????}




????????var?request?=?(HttpWebRequest)?HttpWebRequest.Create(?builder.Uri?);
????????request.Method?=?context.Request.HttpMethod;
????????request.ProtocolVersion?=?context.Request.ProtocolVersion;
????????request.AllowAutoRedirect?=?false;
????????request.Timeout?=?(int)?new?TimeSpan(?0,?0,?10?).TotalMilliseconds;


????????request.Host?=?context.Request.Url.Host;

????????foreach?(?var?key?in?context.Request.Headers.AllKeys?)
????????{
??????????SetHeader(?request,?key,?context.Request.Headers.Get(?key?)?);
????????}



????????if?(?context.Request.ContentLength64?>?0?)
????????{

??????????using?(?var?stream?=?request.GetRequestStream()?)
??????????{
????????????var?buffer?=?new?byte[context.Request.ContentLength64];
????????????context.Request.InputStream.Read(?buffer,?0,?buffer.Length?);
????????????stream.Write(?buffer,?0,?buffer.Length?);
??????????}

????????}


????????HttpWebResponse?response;

????????try
????????{
??????????response?=?(HttpWebResponse)?request.GetResponse();
????????}
????????catch?(?WebException?e?)
????????{
??????????response?=?(HttpWebResponse)?e.Response;

??????????if?(?e.Status?!=?WebExceptionStatus.Success?)
??????????{
????????????Console.WriteLine(?"{0}?{1}...",?context.Request.Url,?e.Status.ToString()?);
????????????context.Response.Close();

????????????if?(?response?!=?null?)
??????????????response.Close();

????????????return;
??????????}

??????????//return;
????????}

????????using?(?response?)
????????{

??????????Console.WriteLine(?"{0}?response...",?context.Request.Url?);


??????????context.Response.StatusCode?=?(int)?response.StatusCode;
??????????context.Response.StatusDescription?=?response.StatusDescription;

??????????foreach?(?var?key?in?response.Headers.AllKeys?)
??????????{
????????????if?(?key.Equals(?"Content-Length",?StringComparison.InvariantCultureIgnoreCase?)?)
??????????????continue;

????????????if?(?key.Equals(?"Location",?StringComparison.InvariantCultureIgnoreCase?)?)
????????????{
??????????????context.Response.Redirect(?response.Headers.Get(?key?)?);
??????????????continue;
????????????}

????????????context.Response.Headers.Add(?key,?response.Headers.Get(?key?)?);
??????????}


??????????MemoryStream?memoryBuffer?=?new?MemoryStream();

??????????if?(?response.ContentLength?>?0?)
??????????{

????????????using?(?var?stream?=?response.GetResponseStream()?)
????????????{
??????????????byte[]?buffer?=?new?byte[1024];
??????????????while?(?true?)
??????????????{
????????????????int?length?=?stream.Read(?buffer,?0,?buffer.Length?);
????????????????if?(?length?==?0?)
??????????????????break;

????????????????memoryBuffer.Write(?buffer,?0,?length?);
??????????????}
????????????}


????????????memoryBuffer.Seek(?0,?SeekOrigin.Begin?);


????????????try
????????????{
??????????????if?(?response.ContentType.StartsWith(?"text/"?)?)
??????????????{
????????????????var?encoding?=?Encoding.GetEncoding(?response.CharacterSet?);
????????????????var?content?=?new?StreamReader(?memoryBuffer,?encoding?).ReadToEnd();

????????????????Console.WriteLine(?content?);

????????????????if?(?response.ContentType.Split(?';'?)[0]?==?"text/html"?)
????????????????{
??????????????????content?=?Cleanup(?context.Request.Url,?content?);

??????????????????memoryBuffer?=?new?MemoryStream(?encoding.GetBytes(?content?)?);
????????????????}

??????????????}

??????????????if?(?context.Request.Url.Equals(?new?Uri(?"http://www.cnblogs.com/ws/BlogPost.asmx/GetSiteHomePosts"?)?)?||?context.Request.Url.Equals(?new?Uri(?"http://www.cnblogs.com/ws/BlogPost.asmx/GetHeadline"?)?)?)
??????????????{

????????????????var?serializer?=?new?DataContractJsonSerializer(?typeof(?CnblogsJsonType?)?);

????????????????var?data?=?(CnblogsJsonType)?serializer.ReadObject(?memoryBuffer?);

????????????????data.d?=?Cleanup(?context.Request.Url,?data.d?);

????????????????memoryBuffer?=?new?MemoryStream();

????????????????serializer.WriteObject(?memoryBuffer,?data?);

??????????????}
????????????}
????????????catch?(?Exception?e?)
????????????{
??????????????Console.WriteLine(?e?);
????????????}

????????????memoryBuffer.WriteTo(?context.Response.OutputStream?);
??????????}
????????}
??????}
??????catch?(?Exception?e?)
??????{
????????Console.WriteLine(?e?);
??????}

??????context.Response.Close();
????}

????[DataContract]
????private?class?CnblogsJsonType
????{
??????[DataMember]
??????public?string?d?{?get;?set;?}
????}


????private?static?void?SetHeader(?HttpWebRequest?request,?string?key,?string?value?)
????{
??????switch?(?key?)
??????{
????????case?"Accept":
??????????request.Accept?=?value;
??????????break;
????????case?"Connection":
??????????if?(?value.Equals(?"Keep-Alive",?StringComparison.InvariantCultureIgnoreCase?)?)
??????????{
????????????request.KeepAlive?=?true;
????????????break;
??????????}
??????????if?(?value.Equals(?"Closed",?StringComparison.InvariantCultureIgnoreCase?)?)
????????????break;
??????????request.Connection?=?value;
??????????break;
????????case?"Content-Length":
??????????//request.ContentLength?=?long.Parse(?value?);
??????????break;
????????case?"Content-Type":
??????????request.ContentType?=?value;
??????????break;
????????case?"Date":
??????????request.Date?=?DateTime.Parse(?value?);
??????????break;
????????case?"Expect":
??????????request.Expect?=?value;
??????????break;
????????case?"Host":
??????????//request.Host?=?value;
??????????break;
????????case?"If-Modified-Since":
??????????request.IfModifiedSince?=?DateTime.Parse(?value?);
??????????break;
????????case?"Range":
??????????throw?new?NotSupportedException();
????????case?"Referer":
??????????request.Referer?=?value;
??????????break;
????????case?"Transfer-Encoding":
??????????request.TransferEncoding?=?value;
??????????break;
????????case?"User-Agent":
??????????request.UserAgent?=?value;
??????????break;
????????case?"Proxy-Connection":
??????????throw?new?NotSupportedException();
????????case?"Accept-Encoding":
??????????break;
????????default:
??????????request.Headers.Set(?key,?value?);
??????????break;
??????}
????}


????private?static?readonly?Regex?userBlogUrlRegex?=?new?Regex(?@"(^http://www.cnblogs.com/(?<username>\w+)/(?<resource>.*)$)|(^http://(?<username>\w+).cnblogs.com/(?<resource>.*)$)",?RegexOptions.Compiled?);

????private?static?readonly?string[]?blockedUsers?=?new[]?{?"firelong",?"huasheng"?};

????private?static?string?Cleanup(?Uri?url,?string?content?)
????{

??????var?rawDocument?=?new?HtmlDocument();
??????rawDocument.LoadHtml(?content?);
??????var?document?=?rawDocument.AsDocument();


??????document.Find(?"A"?).Select(?element?=>?element.Attribute(?"href"?)?).Where(?attribute?=>?attribute.Value()?!=?null?).ToArray()
????????.ForAll(?attribute?=>
??????????{
????????????var?href?=?new?Uri(?url,?attribute.Value()?).AbsoluteUri;

????????????var?match?=?userBlogUrlRegex.Match(?href?);

????????????if?(?blockedUsers.Contains(?match.Groups["username"].Value?)?)
????????????{

??????????????if?(?match.Groups["resource"].Value?!=?""?)
??????????????{
????????????????var?element?=?FindContainer(?attribute.Element?);
????????????????element.Remove();
??????????????}
??????????????else
????????????????attribute.Element.Remove();
????????????}


??????????}?);


??????return?document.OuterHtml();
????}

????private?static?IHtmlElement?FindContainer(?IHtmlElement?element?)
????{

??????var?container?=?element;

??????while?(?true?)
??????{
????????var?parent?=?container.Parent;
????????if?(?parent?==?null?)
??????????break;

????????if?(?parent.Find(?"A"?).Select(?e?=>?e.Attribute(?"href"?).Value()?).ToArray().NotNull().Count(?href?=>?userBlogUrlRegex.IsMatch(?href?)?)?>?1?)
??????????return?container;

????????container?=?parent?as?IHtmlElement;
????????if?(?container?==?null?)
??????????break;
??????}

??????return?element;

?



總結

以上是生活随笔為你收集整理的园林空气净化器永久测试版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。