C# 获取必应每日一图

 0x00.添加引用

using System;
using System.Net.Http;
using System.Threading.Tasks;
using Windows.Networking.BackgroundTransfer;
using Windows.Storage;
using System.Xml;

0x01.模仿请求

public static Task< bool> GetBingPics()
{
    return Task.Run(async () =>
     {
         string temp = "http://cn.bing.com/HPImageArchive.aspx?idx=0&n=1";
         string downtemp = "http://cn.bing.com";
         string baseurlexp = "//images/image/url";
         string copyrightexp = "//images/image/copyright";
         string dateexp = "//images/image/enddate";

         HttpClient request = new HttpClient();
         {
             request.DefaultRequestHeaders.Add("Accept", "application/json, text/javascript, */*; q=0.01");
             request.DefaultRequestHeaders.Add("UserAgent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0");
             request.DefaultRequestHeaders.Add("Accept-Encoding", "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3");
             request.DefaultRequestHeaders.Add("Accept-Language", "gzip, deflate");
         }//填写请求头

         try
         {
             HttpResponseMessage response = request.GetAsync(temp).Result;
             string xmlstr = response.Content.ReadAsStringAsync().Result;
             XmlDocument doc = new XmlDocument();
             doc.LoadXml(xmlstr);

             XmlElement root = null;
             root = doc.DocumentElement;

             XmlNode xmlNode = root.SelectSingleNode(baseurlexp);
             XmlNode xmlNode1 = root.SelectSingleNode(copyrightexp);
             XmlNode xmlNode2 = root.SelectSingleNode(dateexp);
             string baseurl = xmlNode.InnerText;
             string copyrighturl = xmlNode1.InnerText;
             string date = xmlNode2.InnerText;
             string plus = "." + baseurl.Split('.')[1];

             BackgroundDownloader backgroundDownload = new BackgroundDownloader();

             StorageFolder folder = await KnownFolders.PicturesLibrary.CreateFolderAsync("BingPics", CreationCollisionOption.OpenIfExists);
             StorageFile newFile = await folder.CreateFileAsync(date + plus, CreationCollisionOption.OpenIfExists);

             Uri uri = new Uri(downtemp + baseurl);
             DownloadOperation download = backgroundDownload.CreateDownload(uri, newFile);

             await download.StartAsync();
             return true;
         }
         catch
         {
             return false;
         }
     });
}

 

UWP 判断程序是否为第一次运行

 0x00.添加引用

using System;
using System.Collections.Generic;
using System.Linq;
using Windows.Storage;

0x01.通过判断本地设置文件中是否存在对应项来判断是否为第一次运行

public static bool IsFirstlyRun()
{
    ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;
    if (localSettings.Values["BackgroundSource"] == null)
        return true;
    else
        return false;
}

 

C# Gzip解压

0x00.添加引用

using System;
using System.Collections.Generic;
using System.IO;
using System.IO.Compression;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

0x01.解压

    public static string GZipDecompress(Stream stream)
    {
        byte[] buffer = new byte[100];
        int length = 0;

        GZipStream gzs = new GZipStream(stream, CompressionMode.Decompress);
        MemoryStream ms = new MemoryStream();

        while ((length = gzs.Read(buffer, 0, buffer.Length)) != 0)
        {
            ms.Write(buffer, 0, length);
        }
        return Encoding.UTF8.GetString(ms.ToArray());
    }
}

 

西藏-4000向上

Part 0 兰州-拉萨

2016.08.20–2016.08.21

本来说好了一家人整整齐齐地去西藏玩半个月,准备了两周却临时意外只剩我一个人,告别了父老乡亲和小女票以后便一人踏上西行的火车。

都说过了格尔木就会开始出现明显的高原反应,然而暂时我身上什么都没有发生,一直好奇电视里出现的青藏线车厢内的吸氧管是怎么用的,之前估计会和医院的输氧装置一样的用法,然而事实居然是乘务员把所有的氧气管拔掉使喷口直接对着车厢内灌氧气😮,凑过去闻了闻氧气浓度还没有医院的高。

随着海拔增加,晚上的睡眠明显不如平时安稳,21号凌晨4点左右就醒了。下铺两个人吐得一塌糊涂,据说他们以前是二级运动员,准备进藏提前喝了一个多月的藏红花泡水。也听闻了一种说法,藏红花是增加血液中血红细胞携带氧气的能力,体质越好的人需要的氧气越多,高原反应越明显

早晨6点左右经过唐古拉山口,这里是青藏线海拔最高的地方,沿线两旁的山峰并不高却已经有一半淹没在云层里。时差原因天色只有微亮,两旁蜿蜒曲折的公路线隐约可见,山口的终年积雪、飘渺的云峰和晦暗的天色居然给人以江南烟雨才有的朦胧美感。

Part 1 拉萨

2016.08.21

大约21号中午左右到达拉萨站,当天只穿了一件短袖和防晒衣,刚下车能感觉到一丝凉意,正在纠结要不要换冲锋衣,高原的太阳成功让我放弃了这个想法还戴上了帽子涂了防晒霜。

一下车就联系拉萨的同学扎西,然而无人接听😭,蹭吃蹭喝的想法破灭了,找了一个相对便宜点的私人旅馆,在区地面卫星接收站附近,一晚上200大洋。
坐公交去旅店的时害怕打车被宰决定坐公交车,然而这直接导致当天所有计划泡汤。

等公车的时间超乎想象,车站等车的人也多到超乎想象,背着超大登山包站着等了差不多1个多小时,总算来了一辆挤满人的车。如果说看到那辆车的时候仿佛看到圣光,那么上车以后就是圣光熄灭了😵。

背着一个大包站着实在是要命啊啊啊啊,挤在一堆人中间根本没有办法转身,抓着把手一个刹车基本就是扯断胳膊的节奏。就在我准备在逆风局中打出GG的时候,一个年轻的藏族妹子用不怎么流利的汉语问我要不要把包放在她前面,我一脸惊诧的看着她下意识的就把包给她了,没错,大脑几乎宕机,在内地怎么肯把包给陌生人😨。她接过包放在她前面的一个用蛇皮袋包裹的大箱子上,瞬间感觉长高了不少。

车厢里一直弥漫着一种不一样的味道,一种像是被太阳暴晒后的酥油的味道,不浓烈但是绵长,再加之我本身有乳糖不耐受症,一点点的奶香都能被放大到无比好闻,就像在兰州的大街小巷闻到牛肉散发出来的奶香然而其他人什么都没闻到😑

一路和漂亮卓玛聊的很开心,然后就下错站了🤨,路程还有几公里。一想到等公车的时间就决定还是按地图走过去。拉萨的天气很奇怪,前几秒还是晴空万里,没有一点点防备也没有一丝顾虑就突然下太阳雨,然后越下越大直到天黑。

走到旅店已经是下午4点多了,由于下雨看起来已经天黑,这时候扎西打电话告诉我下午在打球没有看手机😮问我到哪了晚上要不要出来到布达拉宫广场转转,我摸着膝盖笑着放弃了今天剩下的计划😥,我也很想去啊我也很绝望啊啊啊。

旅店是个四川人开的小二楼,房间不算多,十间不到,挑了一间二楼朝阳的房间,外面有个露天平台,上面养了不少花花草草。周围都是平房。不远处的经幡在电闪雷鸣中摇来晃去。房间的陈设有点旧,不算精致但也种类齐全,藏式气息的小桌子和盆架也算增添了不少气氛。拉萨城区很多地方洗澡的热水只能靠太阳能,像这种下雨天水基本不会太热,好在是夏天冷一点也没所谓。

洗完澡躺了一会仿佛buff满满,雨也小了不少,看时间还早,鬼使神差的决定去离得最近的大昭寺看看。

一路上因为自己的新教徒身份不停地担心去寺庙参观会不会冲突,不停地做思想斗争,「圣经」出埃及记说过: “上帝是独一真神,不可为自己雕刻偶像,不可跪拜那些偶像。最后还是心想算了我信心蛮强大的,我只是来感受西藏文化和找同学玩的,没问题~解决思想负担以后轻松多了。

和其他很多的景点一样,大昭寺附近的广场也有了很多商业化元素,但还是有很多以前的老房子修整后开作店面,环大昭寺内中心的释迦牟尼佛殿一圈称为“囊廓”,环大昭寺外墙一圈称为“八廓”,大昭寺辐射出的街道叫“八廓街”即八角街。以大昭寺为中心,将布达拉宫、药王山、小昭寺包括进来的一大圈称为“林廓”。这从内到外的三个环型,便是藏民们行转经仪式的路线。饶囊廓一圈有一条用不同材质铺成的道路,约有1米宽,雨后的地面依然潮湿,却依然不影响绕大昭寺磕长头的信徒,他们绕着大昭寺呈顺时针匍匐,遇经幡柱会绕行数圈,口中念六字真言。

藏传佛教认为,对佛和佛法的崇敬,身、语、意三者缺一不可。磕长头的信徒在其五体投地的时候,为身敬;口中不断念诵经文,便是语敬;心中不断想着佛,为意敬。身、语、意三者的同意在磕长头的过程中得到了很好的体现。

据说大昭寺内供奉着文成公主当年从长安带去的释迦牟尼12岁等身金像,相传佛祖在世时,其弟子按其奶妈指点塑了8岁、12岁和25岁三尊金像并由佛祖亲自开光,8岁金像已遭毁损,现存于小昭寺,25岁金像远在印度,因此大昭寺内的12岁金像就变得十分珍贵。

大昭寺内的佛像每年都会刷一层金漆,藏民视佛祖金像为佛祖本尊,千里迢迢从各地到大昭寺朝圣,磕长头需五体投地匍匐,双手前直伸。每伏身一次,以手划地为号,起身后前行到记号处再匍匐,如此周而复始。遇河流,须涉水、渡船,信徒会在岸边先磕足与河宽齐平的长头,再行过河。晚间休息后,会从昨日结束的地方继续开始。

大昭寺内有一棵柱上嵌着的许多牙齿,此柱被称为牙柱。这些黄牙是磕长头的信徒死在朝圣途中,由他们的亲人或同行的人敲下牙齿,送进大昭镶在柱上的,表示死者已到圣城虽无佛缘也将永颂佛德。

—————未完待续——————

C# 模拟POST上传图片至服务器

0x00.添加引用

using System;
using System.IO;
using System.Net.Http.Headers;
using System.ComponentModel;
using System.Collections.Generic;
using System.Threading.Tasks;
using Windows.UI.Xaml.Media.Imaging;

 


0x01.选择文件

        List<UploadImageInfo> imginfo = new List<UploadImageInfo>();
        private async void SelectFiles_Click(object sender, RoutedEventArgs e)
        {          
            FileOpenPicker openPicker = new FileOpenPicker();
            openPicker.ViewMode = PickerViewMode.Thumbnail;
            openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
            openPicker.FileTypeFilter.Add(".jpg");
            openPicker.FileTypeFilter.Add(".jpeg");
            openPicker.FileTypeFilter.Add(".png");

            var files = await openPicker.PickMultipleFilesAsync();//选择多个文件

            foreach (StorageFile sf in files)
            {
                tokenInfo = await TokenInfo.GetTokenAsync();//自定义获取token函数
                UploadImageInfo uploadImages = new UploadImageInfo();//自定义图片类
                BitmapImage bitmap = new BitmapImage();
                using (var stream = await sf.OpenAsync(FileAccessMode.ReadWrite))
                {
                    bitmap.SetSource(stream);
                    if (stream.Size < 1024 * 1024)
                    {
                        uploadImages.DataSize = Math.Round((double)stream.Size / 1024, 2).ToString ()+"  Kb";
                    }
                    else
                    {
                        uploadImages.DataSize = Math.Round((double)stream.Size / 1024 / 1024, 2).ToString()+"  Mb";
                    }
                    Stream s = WindowsRuntimeStreamExtensions.AsStreamForRead(stream.GetInputStreamAt(0));
                    uploadImages.ContentByte = ConvertStreamTobyte(s);
                    s.Close();//务必结束,否则文件会一直被占用。
                }

                uploadImages.Content = bitmap;
                uploadImages.Name = sf.Name;
                uploadImages.DateCreated = sf.DateCreated.ToString();
                uploadImages.Cameras = cameras;
                uploadImages.Lens = lens;
                imginfo.Add(uploadImages);
}

0x02.异步上传

public static async Task<string> UploadFilesAsync(UploadImageInfo uploadImageInfo, string uzrtoken, string uploadtoken, string userId, string campaignId)
{
   HttpClientHandler handler = new HttpClientHandler();
   HttpClient httpClient = new HttpClient(Sign.HttpClientHandler);
   httpClient.DefaultRequestHeaders.Accept.ParseAdd("text/*");
   httpClient.DefaultRequestHeaders.UserAgent.TryParseAdd("Shockwave Flash");

   HttpResponseMessage response = new HttpResponseMessage();
   var content = new MultipartFormDataContent();//使用MultipartFormDataContent进行form-data请求头封装
   var contentByteContent = new ByteArrayContent(uploadImageInfo.ContentByte);
   contentByteContent.Headers.Add("Content-Type", "application/octet-stream");
   contentByteContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data");
   contentByteContent.Headers.ContentDisposition.FileName = "\"" + uploadImageInfo.Name + "\"";
   contentByteContent.Headers.ContentDisposition.Name = "\"imagefile\"";//封装POST请求头
    {
      content.Add(new StringContent(uploadImageInfo.Name), "\"Filename\"");
      content.Add(new StringContent("1"), "\"uploadTokenType\"");
      content.Add(new StringContent("0"), "\"fileType\"");
      content.Add(new StringContent(uploadImageInfo.Name), "\"title\"");
      content.Add(new StringContent("2"), "\"userTokenType\"");
      content.Add(new StringContent(campaignId), "\"campaignId\"");
      content.Add(new StringContent(userId), "\"userId\"");
      content.Add(new StringContent(uploadtoken), "\"uploadToken\"");
      content.Add(new StringContent(uzrtoken), "\"userToken\"");
      content.Add(contentByteContent, "\"imagefile\"");
      content.Add(new StringContent("Submit Query"), "\"Upload\"");
    }

   response = await httpClient.PostAsync(new Uri("http://media.sony.com.cn/alphacafe/upload", UriKind.Absolute), content);
   string sid = response.Content.ReadAsStringAsync().Result;
   
   if (response.IsSuccessStatusCode&&sid.Contains("fileID")==true)
    {
      string s = response.Content.ReadAsStringAsync().Result.Split('"')[7];
      return s;
    }
   else return "failed";
}



0x03.上传

private async void Submit_Click(object sender, RoutedEventArgs e)
{
  foreach (UploadImageInfo item in imgitems)
   {
    string fileId = await UploadImageInfo.UploadFilesAsync(item, tokenInfo.userToken, tokenInfo.upLoadToken, userId, "16");
    if (fileId.Contains("failed") == false)
     {
      item.FileID.Insert(0, fileId);//上传成功则返回文件Id
     }
   }
}

 

写在离开的时候

所谓的大学生活过去了第一个半年,就像在拍电影一般,没有浮夸的演技,没有老道的编剧,没有诱人的男主女主,却总是会有一种很虚无,不真实的感觉,一种心底隐隐的不安。

这是一所奇怪的学校,宿舍没网线,没有和蔼可亲的楼管欧巴,四处可见的男版阿巴桑,全校情侣装,考前高呼团结就是力量的奇葩地方。

这里姑且不算是大学,也有过时间去感受过别的大学。

阴暗的小树林,勾肩搭背的长椅,接着夜色的掩护图谋不轨。人来人往尘土飞扬,眼中的无知,迷茫,凌乱,欲望,青春的脸上浮现出不该有的笑容,背影的成熟也不过是用成人外衣覆盖的幼稚与无知。
急匆匆穿行的人,色,不相同。

所谓大学,本应是现行体制下的最高学府,如今却沦为校园与社会接轨的道口,每个大学的校长,充其量也就是各怀鬼胎的扳道工,相对纯净的高中生进入了一个类似社会却不是的地方,类似学校却不是的地方。迷茫无措,可想而知。

在这里,多少人第一次 拥有了自己独立的时间,相对独立的经济,相对不为家人所知的欲望。就好比充满气的气球,一瞬间被扎破,只会到处乱飞一样。人,各有体。

多少人怀着不用整日穿校服的欣喜 踏入大学,多少人抱着可以放肆打游戏的心态进入这里,为了找对象的,为了赚钱的,为了找工作的,so on。。。。。

这里的人,也不再是纯粹的学生,可以理解为社会人做着学生的事,或者说,学生在冒充社会人。

金钱与性别的区分逐渐明显,等级的差距日益扩大,有人会端着部长社长的位置对你耀武扬威指手画脚顺便不假思索的否决你的意见,有人会各种物质来寻求连任甚至更多,有人却嗤之以鼻。人与人价值观的区分也日益显著。

在大学里,多少的青春蒙上了社会的阴影,多少的学识被利益驱使,多少人,开始被孔老夫子的厚黑学慢慢笼罩。

《大学》曾道:大学之道,在明明德,在亲民,在止于至善。不能明德,不能至善,又何以治学。

忽然想到一个很有名的例子:记者问放羊娃,放羊做啥?赚钱。赚钱做啥?娶媳妇?娶媳妇干啥?生孩子。生孩子做啥?放羊。很多人听到是都不屑的笑了,可如果是我们呢?记者问大学生,上大学做啥?找好工作。找好工作干啥?赚钱。赚钱做啥?娶媳妇。娶媳妇做啥?生孩子。生孩子做啥?上大学。我们用戏谑的嘴角嘲笑他们的愚蠢,却不知我们正一步一步重复着他们的路。

也许有人会说,你这是扯淡。

可是,在你选择院校,乃至专业时,听到最多是什么?不是你有没兴趣,而是就业率,是不是985.211?毕业以后能找到好工作么?

会有一些人,抱着自己的梦想来到校园,为之努力,位置奋斗,到最后却发现他的论文通过了你的没通过是因为他和教授的私交不错,同样是相似性检验明明是自己写的却没有通过时,又会怎么想,又有多少人会在此时仍能坚持,在一而再再而三的莫名其妙的挫折后仍能保持自己的理想?

青春的热情撞到现实的冰冷,不过是头破血流的伤疤而已。

血气方刚的冲动在没有约束的环境下也总会导致悲剧的发生,懵懵懂懂的年少却成了欲望的深渊。

在不该迷恋成人世界的年纪爱上了灯红酒绿,拿着父母的工资时常光顾于红灯区,在性与爱之间无法抉择迷失自我。当曾经义务教育阶段缺失的德育和对价值观的树立出现差错,现在要在一个没有约束与半自由的环境下要重新树立更是难上加难。

想起那本被翻了七年的《在路上》,凯鲁亚克在书中所塑造的人物经历,被称为垮掉一代的年轻人,他们在美洲辽阔的大陆上开着快车无休止地往返奔波,就因为他们在寻求本能的释放、自我的表达和精神的自由。他们吸毒、放纵性行为、沉浸于爵士乐,而脱光衣服,赤身裸体,则是他们摆脱束缚的象征性行为。

垮掉一代。呵呵哒

说好了今早的月亮最圆,窗外却仍是黑乎乎一片,远处的灯光忽影忽现,手机开始提醒中度污染,不知是眼镜沾了太多你的眼泪还是窗外PM超标。想起之前柴静的穹顶之下,头条却成了中石油的某人开始反驳柴静,又有人添油加醋开始抨击她炒作妈妈身份,一片混乱。

几个小时后再吃一次牛肉面,喝一次氨氮水,不枉人世走一遭,来世在作兰州人。

还是去享受一小时几毛钱的廉价娱乐吧,嘴边又开始哼哼:让斑鼠的怒吼,焚化天朝的自由,爱玩火法的火法的火法的火法的。。。。姐抵的不是抗,是甜蜜的忧伤。。。。

Life sucks.

邓老师的信

   亲爱的同学们:

         你们好!首先我深深的谢谢你们,我们共同度过了三百六十五日,在这一年中,虽然我痛过苦过累过,但也令我深深地感动过,我全身心的爱着你们每位同学,你们也已深深地留在我的心里,我更是舍不得离开你们。为了怕影响你们考试,每次上课我一次次强忍着离别的痛苦,一次次控制着夺眶而出的泪水没有告诉你们任何消息。虽然从今以后我不再教你们了。但不管何时何地我都会祝福你们,惦记着你们!最后祝你们期末取得好成绩!

                                                                                                                                                                         爱你们的邓老师