<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      編程 & 生活 -- 西西吹雪

      開心工作,快樂生活 (原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處)

      導(dǎo)航

      我開發(fā)共享軟件的三次經(jīng)歷(中):我賺到了十萬塊

       

      共享軟件這個(gè)詞,如今似乎離我們已經(jīng)越來越遙遠(yuǎn)了。還有人記得超級(jí)兔子嗎?還有人知道netants嗎?這些輝煌一時(shí)的明星,已逐漸消失在人們的視野中。今天已經(jīng)是免費(fèi)軟件的世界。互聯(lián)網(wǎng)行業(yè)的巨頭們,打造的免費(fèi)模式,給共享軟件敲響了喪鐘。

      共享軟件,曾經(jīng)寄托了多少程序員們創(chuàng)業(yè)致富的夢(mèng)想。我也曾加入共享軟件的大潮中,開發(fā)過差不多近十個(gè)共享軟件,最后它們大都灰飛煙滅了,但其中三次經(jīng)歷,還是給我的程序員生涯留下了難以磨滅的記憶。

           本人拙作《程序員第二步-從程序員到項(xiàng)目經(jīng)理》已經(jīng)到貨,當(dāng)當(dāng)網(wǎng)、京東網(wǎng)、天貓商城均可購買,謝謝各位園友們的長(zhǎng)期大力支持!

       

      第二篇:淘寶發(fā)布大王-我賺到了十萬塊

      一、淘寶發(fā)布大王的來世今生

      我開發(fā)的第二款讓我難忘的共享軟件是淘寶發(fā)布大王。

      這是一款比隱藏專家還要簡(jiǎn)單的軟件,這個(gè)軟件是針對(duì)淘寶賣家的,它的功能很簡(jiǎn)單,就是每隔一段時(shí)間,就把賣家店里的下架的寶貝自動(dòng)上架。

      這個(gè)軟件最先是給我老婆自己用的。她在淘寶上開了一個(gè)網(wǎng)店賣銀飾,商品有四五百件。當(dāng)時(shí)淘寶還沒有自動(dòng)上架功能,賣家的商品在一個(gè)周期內(nèi)(好像是7天)沒有賣出去,就會(huì)自動(dòng)下架。你要想再上架重新賣,必須要手動(dòng)操作,找到?jīng)]有賣出的寶貝,選中它,然后點(diǎn)擊上架。四五百件商品,就是說每天要重新上架六七十件,這實(shí)在是一件很繁瑣、枯燥的工作。于是淘寶發(fā)布大王就應(yīng)運(yùn)而生了。

       

      我們自己用了之后,覺得確實(shí)很方便,再也不用每過一段時(shí)間就要跑到電腦前面上架寶貝了,軟件開在那里,基本上什么不用管,比以前省事多了。后來我們想,既然有用,別的賣家肯定也需要,于是我們把軟件掛出來賣,70塊錢一臺(tái)機(jī)(綁定網(wǎng)卡),沒想到反響不錯(cuò),沒過幾天,賣軟件的銷售利潤(rùn)就比老婆賣銀飾賺的還要多。

      當(dāng)我們賣這款軟件時(shí),市面上根本沒有競(jìng)爭(zhēng)對(duì)手,只此一家,別無分店。可是一個(gè)多月后,出現(xiàn)了許多模仿者,它們中一些,在銷量上可能還超過了淘寶發(fā)布大王。即使如此,淘寶發(fā)布大王的銷量也還是可以的,差不多每天能賣十來個(gè)授權(quán),這對(duì)于當(dāng)時(shí)的我來說,實(shí)在是一筆不菲的收入。大概是由于用的人越來越多,引起了淘寶網(wǎng)的注意,他們還曾派人電話采訪了我,說要寫一篇采訪稿,記錄淘寶網(wǎng)二次開發(fā)人員的創(chuàng)業(yè)情況,可惜的是,我一直沒有見到那篇文章。

      更可惜的是,好景不長(zhǎng)。這個(gè)軟件還沒賣上一年,淘寶網(wǎng)就推出了寶貝自動(dòng)上架功能,淘寶發(fā)布大王再也沒有用開之地了,它自然的消失,我的致富夢(mèng)也戛然而止。

      最后統(tǒng)計(jì)了一下,這個(gè)軟件賣了超過十萬元。說起來不多,但對(duì)于當(dāng)時(shí)拿著幾千元月薪的我來說,已經(jīng)是一筆不小的數(shù)字了。靠著這筆錢,我終于擁有了屬于自己的房子,開始了幸福的房奴生活。幾年后,廣州房?jī)r(jià)飆升,現(xiàn)在再次回想起來,可以說淘寶發(fā)布大王從一定程度上改變了我的人生軌跡。

       

      二.關(guān)鍵技術(shù)

      下面談一談技術(shù)吧。

          1.運(yùn)行過程

      淘寶發(fā)布大王基于.net 1.1開發(fā),在技術(shù)上并沒有什么特別的難度,其核心過程有三步:

      (1)采用HttpWebRequest類,將用戶名、密碼等信息構(gòu)造成post數(shù)據(jù),發(fā)送過淘寶網(wǎng)登錄頁面。收到返回信息后,記錄下cookie。通過攜帶cookie信息,保持HttpWebRequest的登錄狀態(tài)。

      (2)HttpWebRequest再get待上架寶貝頁面,解析頁面html,獲得的寶貝ID集合。

      (3)將寶貝ID列表、上架操作指令構(gòu)造成post數(shù)據(jù),發(fā)送到待上架寶貝頁面,上架成功。

      可見,最核心的就是采用HttpWebRequest類來與服務(wù)器交互,代碼如下:

       

        private static bool PostData (string url,string postData,ref string result)
        {
                  try
                  {

                      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                      request.CookieContainer = m_CookieContainer; 
                      request.Method = "POST";
                      request.ContentType="application/x-www-form-urlencoded";
                      
                      byte[]  byte1=Encoding.Default.GetBytes(postData);//最終編碼后要上傳的數(shù)據(jù)
                      request.Timeout = 20000;
                      request.ContentLength = postData.Length;
                      Stream writeStream = request.GetRequestStream();
                      writeStream.Write(byte1,0,postData.Length);
                      writeStream.Close();

                      HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
                      
                      if (response.StatusCode == HttpStatusCode.OK)
                      {
                          Stream stream = response.GetResponseStream(); 
                          StreamReader reader = new StreamReader(stream,System.Text.Encoding.Default);             
                          result = reader.ReadToEnd(); 
                          stream.Close(); 
                          reader.Close(); 
                          response.Close();    
                      }
                      else
                      {
                          result = "";
                          return false;
                      }                
                      return true;
                  }            
                  catch(Exception ex)
                  {
                      WriteLog(ex.Message);
                      return false;
                  }
                  
              }

       

       

          2.軟件注冊(cè)算法

      淘寶發(fā)布大王在授權(quán)方面使用了非對(duì)稱加密算法,私鑰用于生成注冊(cè)碼,只在我自己的電腦上運(yùn)行;公鑰用于驗(yàn)證注冊(cè)碼,在用戶的電腦上運(yùn)行。

      注冊(cè)碼驗(yàn)證采用RSACryptoServiceProvider類提供的VerifyData方法即可,代碼如下。

             public static bool Verify(byte[]digestInput, byte[] signed)
      {
                try
                {
                    RSACryptoServiceProvider RSAalg = new RSACryptoServiceProvider();
                    RSAalg.ImportParameters(GetParam());
                    return RSAalg.VerifyData(digestInput, typeof(SHA1CryptoServiceProvider),signed);
                }
                catch
                {
                    return false;
                }
             }
       
             private static RSAParameters GetParam()
             {
                //用公鑰驗(yàn)證
                RSAParameters param = new RSAParameters();
                param.Exponent = Convert.FromBase64String("AQAB");
                param.Modulus = Convert.FromBase64String("55/Jb2IaIoEkgiDHWaHVRnsLivGYtNO/N6I+2P9qh12cm5vvZFk0/7EpuT1PiqruquJ/jbrp3dDDHZeT9xVi1uQ2HQDEcPBnX6FWowTqBHFHG9O00wLy3pCfmKpIRqD4ZRRKhcdtVnKndSTjp6Qrv5vbxWX6+mO9Mz6qF6k+JDc=");
                return param; 
             }

       采用非對(duì)稱加密算法的好處就是,即使你破解了我的軟件,拿到公鑰,你也沒辦法生成注冊(cè)碼,從而比較好的保證軟件的安全性。

          3.網(wǎng)卡真實(shí)的物理地址獲取

      網(wǎng)卡macid可以通過.net提供的WMI類庫來實(shí)現(xiàn),然而它獲取的網(wǎng)卡地址只是寫在注冊(cè)表中的地址。這種地址是可以通過軟件工具修改的。如果用戶通過第三方軟件修改了mac地址,WMI就是無法獲取真實(shí)的網(wǎng)卡地址了。

      那有什么辦法可以獲取網(wǎng)卡的真實(shí)的特理地址呢?有,那就要用到Windows API函數(shù)DeviceIoControl了,代碼如下:

           private static string GetPhysicalAddr(string cardId) {
            string macAddress = string.Empty;
            uint device = 0;
            try {
              string driveName = "\\\\.\\" + cardId;
              device = Win32Utils.CreateFile( driveName,
                                       Win32Utils.GENERIC_READ | Win32Utils.GENERIC_WRITE,
                                       Win32Utils.FILE_SHARE_READ | Win32Utils.FILE_SHARE_WRITE,
                                       0, Win32Utils.OPEN_EXISTING, 00 );
              if (device != Win32Utils.INVALID_HANDLE_VALUE) {
                byte[] outBuff = new byte[6];
                uint bytRv = 0;
                int intBuff = Win32Utils.PERMANENT_ADDRESS;
       
                if (0 != Win32Utils.DeviceIoControl( device, Win32Utils.IOCTL_NDIS_QUERY_GLOBAL_STATS,
                                    ref intBuff, 4, outBuff, 6ref bytRv, 0 )) {
                  string temp = string.Empty;
                  foreach (byte b in outBuff) {
                    temp = Convert.ToString( b, 16 ).PadLeft( 2'0' );
                    macAddress += temp;
                    temp = string.Empty;
                  }
                }
              }
            } finally {
              if (device != 0) {
                Win32Utils.CloseHandle( device );
              }
            }
       
            return macAddress;
          }

       

      三.總結(jié)

      淘寶發(fā)布大王雖然生命周期很短,但基本上還算是一個(gè)成功的軟件(起碼算不上失敗吧)。能把自己的軟件賣出去,這是一個(gè)很爽的過程,從中獲得的快感不是用金錢能衡量的,通過開發(fā)淘寶發(fā)布大王,我收獲了一些物質(zhì)財(cái)富,更重要的是獲得了快樂。

      在開發(fā)共享軟件方面,有兩點(diǎn)也許值得思考:

      一是如果從自己熟悉的、甚至自己直接需要的東西入手,也許更容易成功;

      二是共享軟件不在于功能有多強(qiáng)大,而在于多大程度上滿足用戶的實(shí)際需求。

            與各位共勉!

        ---------------------------------

              本人拙作《程序員第二步--從程序員到項(xiàng)目經(jīng)理》已經(jīng)到貨,謝謝各位園友的長(zhǎng)期支持!

              當(dāng)當(dāng)網(wǎng):http://product.dangdang.com/23365823.html 

              京東網(wǎng):http://item.jd.com/11350488.html      

       

      posted on 2013-12-04 11:17  西西吹雪  閱讀(28198)  評(píng)論(86)    收藏  舉報(bào)

      主站蜘蛛池模板: 91亚洲国产成人久久蜜臀| 99国产精品自在自在久久| 亚洲人黑人一区二区三区| 偷拍精品一区二区三区| 无码AV中文字幕久久专区| 亚洲国产天堂一区二区三区| 午夜福利国产盗摄久久性| 绍兴市| 亚洲精品综合网二三区| 亚洲V天堂V手机在线| 日本一道本高清一区二区| 国产中年熟女高潮大集合| 热久久美女精品天天吊色| 高潮喷水抽搐无码免费| 武城县| 无码囯产精品一区二区免费| 人妻少妇久久久久久97人妻| 亚洲综合久久精品哦夜夜嗨| 九九热在线视频免费播放| 国产精品人成视频免| 国产精品午夜福利小视频| 日本中文字幕有码在线视频| 最新偷拍一区二区三区| 东京热无码国产精品| 国产成人8x视频一区二区| 成人午夜福利视频一区二区| 午夜精品一区二区三区免费视频 | 美女胸18下看禁止免费视频| 亚洲首页一区任你躁xxxxx| 毕节市| 亚洲国产欧美一区二区好看电影| 亚洲一本大道在线| 性色在线视频精品| 免费人成在线观看网站| 艳妇臀荡乳欲伦69调教视频| 日本东京热不卡一区二区| 在线免费成人亚洲av| A级日本乱理伦片免费入口| 在线中文字幕国产一区| 你拍自拍亚洲一区二区三区| 免费无码肉片在线观看|