Apr20th

一个奇怪的网页乱码问题

sonic.hu 后台与开发 我来说两句! 1

做了个网站,测试正常好就上传到服务器,看了一下,基本正常,但点到其中一个页面时发现了乱码,找到那个页面打开,仔细检查,没有发现与其他页面有什么不同,而且整站在webconfig里声明了UTF8编辑,页面的编辑也没有改过,按里不会出现乱码。因为我用到了母版页,母版页里的内容是正常的,只有其中一部分的内容是乱码,有点搞不懂了,试着用其他的编码查看,结果还是乱码。

回到本地打开源文件调试,一切正常,放到另一个网站的服务器上,也可以正常显示,然道传说中的鬼出现了?百思不得其解。

...

网站  网页  乱码  服务器  

Apr17th

sqlite中的按位与和按位或功能

sonic.hu 后台与开发 我来说两句! 0

越来越喜欢用SQLITE了,免费,小巧,跨平台,高性能,对于一般应用已经足够了,不用去搭建数据库服务器平台,现在我做的小型方案一般都用SQLITE了。

今天开发一个产品的查询功能,其中有十多项可选的,每个产品都可以有其中的一项或几项,开始数据库设计也不是很合理,把每项都用一个字段表示,结果杯具了十多个字段,有的要and 有的要 or ,要把这些组合给搞出来,没有个三五百行代码(甚至更多)估计不行。

只能改数据库了,想到以前做权限的时候,可以用位运算来做,这个一个字段就可以搞定所有的事了,但那时用的是SQL SERVER,有bitand这个函数,实现容易,在SQLITE试了一下,没有这个函数,再去百度和GOOGLE,也没有发现相关内容。难道sqlite就不支持?不死心,用select 1 & 3 查询了一下,得出了结果,居然就这么简单,有点不信,再用select 1 | 3 还是正确的。

...

sqlite  按位与  按位或  

Apr9th

做了个半自动邮件注册系统

sonic.hu 后台与开发 我来说两句! 3

外贸越做越没有劲了,本来打算回来去技术方面的工作,但都这个年纪了,来回的倒腾也不是办法,想了想还是做业务吧。外贸也接着做,顺便做下国内的业务。

刚好前研究邮件群发,也是巧,对我做业务有一定的帮助。但我手头的发件箱没有,只有自己常的几个邮箱。就想着做一个,要是按做发邮件方式的做法那太浪费时间了,加上还要输入验证码,于是就做了个半自动的,花了一个下午的时间,可注册126 163 Yeah sina chinaren sohu sogou yahoo 21cn这几个邮箱。

主要就是用Webbrowser对网页进行操作,再按规律生成一些数据。测试了一下,除了sohu和sogou两个的验证码不好输入外,其他速度也还行,一分钟可以注册两三个吧,如果网速快点应该可以到四个。

...

C#  邮箱  注册  

Mar31th

一个把十进制转为2到36之间任意进制的函数

sonic.hu 后台与开发 我来说两句! 0

string NumConvert(uint num,uint b)
        {
            if (b == 0) return "Err";
            StringBuilder sb = new StringBuilder();
...

进制  

Mar7th

C#遍历CookieContainer所有Cookie并保存到文件

sonic.hu 后台与开发 我来说两句! 1

在开HTTP方式提交数据时,有的要登录才能发送数据,如果每次都登录,那就有点浪费时间了,因为网络的问题,很多时间都花来回传输数据上,如果登录后把CookieContainer保存到文件或数据库那就会快很多了。
保存CookieContainer考虑到两种方法,一种是把CookieContainer序列化,再保存,用的时候再反序列化;另一种是遍历出所有的Cookie,再把内容读出来,用的时候再构建新有Cookie,再添加到CookieContainer。经过考虑,决定用第二种,因为Cookie会有时间限制,如果单单的序列化后保存,就有可能会过期,而后一种则可以自己设置时间。

...

C#  CookieContainer  cookie  

Feb20th

C#动态加载并运行DLL

sonic.hu 后台与开发 我来说两句! 0

这几天在做一个小东西,涉及到网站内容,要向不同的网站提交数据,并朋取得返值,做一些特殊的应用。开始是每个网站写一个类,直接在程序中运行。后来类不同的增加,同时考虑到,一旦某个网站规则必了,整个程序都要改了,而且程序发布以后要添加新的网站有点不方便。

考虑了一下,想到将每个类编译成DLL,放在指定的目录下,程序运行的时候加载并运行这些DLL,以后一旦某个不行了直接删除就行了,如果要添加其他的,直接将编译好的DLL放到此目录下就行了。同时修改起来也方便,只要修改指定的DLL就行了,并不影响其他DLL运行。

...

C#  DLL  

Jan25th

邮件群发之网易篇

sonic.hu 后台与开发 我来说两句! 0

当今这个互联网时代,电子邮件成为人们日常联系中的一个重要角色,同时也衍生了另一个行业,邮件群发,致使垃圾邮件满天飞,因此各个邮件服务商也提供了相应的策略来防止垃圾邮件的产生。可是平时我们又必须用到邮件群发,如过节时候给客户发送一些祝福的内容,公司有新产品的时候,给一些新老客户发送产品信息等。

前两天群里有位朋友的公司要求他做个邮件群发工具,看了他的思路,比起以前利用SMTP,及直接内置浏览器然后模拟点击都要好。利用SMTP,现在除了GMAIL一天可以发几进封邮件外,其他邮箱发不了多少,网易在30封左右,而HOTMAIL则只有10封左右,远远达不到要求,而模拟网页点击的话,则效率相对较慢,要加载很多无用的信息,优点是比较稳定。而那位朋友则用对网页发邮件HTTP抓包后,直接POST邮件到指定的页面,这些就可以少加载很多东西了,相当于AJAX一样了。

...

邮件群发  网易  C#  HttpWebRequest  

Jan19th

C#中Replace效率测试

sonic.hu 后台与开发 我来说两句! 0

前段用C#做了个配合采集器的数据处理工具,其中运用到了大量的字符串替换,因此要考虑到字符串替换的效率的问题。

我们在处理字符串替换的时候,一般会有到四种方式,第一种String真接替换,第二种是正则表达式替换,第三种是StringBuilder替换,第四种是调用VisualBasic的Replace函数。第一种是最常用也是最普遍的,第二种则是功能最强大的,第三种用的人不多,第四种使用C#的人使用得更少了。

以下是我写的一段测试代码,把一段文字里的“国”字替换成“国”字,等于没有替换,操作五百万次,再来对比结果。

...

C#  Replace  正则表达式  

Nov25th

转:漫谈.NET开发中的字符串编码

sonic.hu 后台与开发 我来说两句! 0

说明:

         在《.NET 4.0面向对象编程漫谈》基础篇《13.2.1 序列化与流》中,向大家介绍了如何向流中序列化一个对象。

...

UTF8  Unicode  Encoding  Stream  Big Endian  Little Endian  String  

Nov17th

MS Sql server 中无限分类查询的两个函数

sonic.hu 后台与开发 我来说两句! 1

分类表的SQL代码:

CREATE TABLE [dbo].[Class](
 [ID] [int] IDENTITY(1,1) NOT NULL,
 [ClassName] [varchar](20) NOT NULL,
 [ParentID] [int] NOT NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

...

SQL Server  无限分类