﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-biggates的心得</title><link>http://www.cnblogs.com/biggates/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 09 Feb 2010 15:11:23 GMT</lastBuildDate><pubDate>Tue, 09 Feb 2010 15:11:23 GMT</pubDate><ttl>60</ttl><item><title>x64 WAMP + Oracle 环境搭建</title><link>http://www.cnblogs.com/biggates/archive/2009/12/28/1634112.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Mon, 28 Dec 2009 06:38:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/12/28/1634112.html</guid><description><![CDATA[<p>阅读: 42 评论: 0 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-12-28 14:38 <a href="http://www.cnblogs.com/biggates/archive/2009/12/28/1634112.html" target="_blank">原文链接</a></p>近日换用 Windows 7 x64 ，在64位兼容性方面遇到诸多不便（多为x86和x64相互调用过程中的问题）。先整理如下：<br /><br /><b>1、背景</b><br />更换系统后，习惯性的重装各种“大件”，其中 VS 2008 自动安装了 x64 版，MySQL也装了官方提供的 x64 版。Apache 和 PHP 仍然使用原来的 x86 版。Navicat Lite 只有 x86 版，系统自动为其设置了兼容模式。由于官方的说明中写了支持 x64 系统，因此直接安装了 ODT（With ODAC），结果发现也是 x86 的。一切似乎都很顺利，于是第一天就这样过去了。<br /><b>2、问题</b><br />首先发现 php_mysql 和 php_mysqli 无法载入，查看日志后发现是 32 位模式的 php 无法载入 64位的 MySQL 客户端，因此尝试换用 64位的 Apache 和 PHP。经过多方搜索，分别找到了相应的非官方版本，但无法启动。于是舍弃了64位的 MySQL，直接找了个 XAMPP 装上。现在 PHPMyAdmin 和 Navicat 都可以正常使用，php_oci8 也一切正常。<br /><b>3、关于 VS 2008 和 Oracle</b><br />一日，在一个 Oracle 项目中，发现 VS 2008 在调用 NHibernate 访问 Oracle 时，报出异常：“无法在64位程序中使用 32 位的 Oracle Client”。在 Oracle 官网查询后，发现只有 instant Client 有单独的 x64 版本，ODT 没有。十分郁闷。尝试用 x64 的 instant client 替换现有的 ODT后，php 和 Navicat 又无法调用 oci 了。<br /><b>4、解决</b><br />安装了 x64 的 instant client，另将 x86 的 instant client 解压出来，复制到 apache 的 bin 目录中，php 成功调用 oci 。<br />在 navicat 的选项中，手动指定了32位 oci.dll 和 sqlplus.exe 的位置，也能正常使用了。<br /><b>5、总结</b><br />Windows 7 x64<br />Visual Studio 2008 SP1 x64<br />XAMPP x86<br />使用 ODT With ODAC x86 设置好环境变量后，使用 Oracle Instant Client x64 替换同名文件<br />Oracle Instant Client x86 使用应用程序自己的路径<br /><br /><div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=991ce30b-106d-8216-8a83-63f2c3e60336" /></div>Technorati 标签: <a class="performancingtags" href="http://technorati.com/tag/x64" rel="tag">x64</a>, <a class="performancingtags" href="http://technorati.com/tag/oracle" rel="tag">oracle</a>, <a class="performancingtags" href="http://technorati.com/tag/apache" rel="tag">apache</a>, <a class="performancingtags" href="http://technorati.com/tag/php" rel="tag">php</a>, <a class="performancingtags" href="http://technorati.com/tag/mysql" rel="tag">mysql</a>, <a class="performancingtags" href="http://technorati.com/tag/xampp" rel="tag">xampp</a>, <a class="performancingtags" href="http://technorati.com/tag/" rel="tag"></a><img src="http://www.cnblogs.com/biggates/aggbug/1634112.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/biggates/archive/2009/12/28/1634112.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/12/28/1634112.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>查看Oracle Dump文件的结构</title><link>http://www.cnblogs.com/biggates/archive/2009/11/12/1601958.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Thu, 12 Nov 2009 08:51:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/11/12/1601958.html</guid><description><![CDATA[<p>阅读: 164 评论: 0 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-11-12 16:51 <a href="http://www.cnblogs.com/biggates/archive/2009/11/12/1601958.html" target="_blank">原文链接</a></p><p>网上各种使用Exp自动备份的文章铺天遍地，但是偏偏缺乏如何有效的分析备份出来的文件的东西。今天找到一个工具，可以用来解析使用 dump 备份出来的文件。</p>
<p>这就是：<a target="_blank" href="http://www.ddlwizard.com/">DDL Wizard</a></p>
<p><span style="color: red;">注意：该工具只支持 ROWS=N 条件下的 dump 文件，也就是只能解析 dump 出来的表结构、视图、存储过程等，</span><strong style="color: red;">数据无法进行查看</strong>。<br /></p>
<p>DDL Wizard 除了可以查看 dump 文件中的结构，还能将其结构生成 SQL 语句以便快速从某个 dump 文件中恢复部分数据库结构。这对不精通Oracle的广大朋友是个很好的功能。另外，也可以用来生成某个数据库的子数据库（比如需要生产环境中的某个表中的结构来调试，但又不能直接去生产环境操作，那么就可以直接拿exp去做个dmp文件回来）。</p>
<p>另外，DDL Wizard 是完全免费的。据作者所说其资源占用也不大。</p>
<p>下面是官方的一段使用实例：</p>
<p>
<embed tplayername="SWF" splayername="SWF" id="Player1259913859224" type="application/x-shockwave-flash" src="http://www.ddlwizard.com/DDLWizard_ExtractingAndViewingDDL.swf" mediawrapchecked="true" pluginspage="http://www.macromedia.com/go/getflashplayer" height="616" width="800"><a class="lcovwletjhirkfwjtcre" href="http://www.ddlwizard.com/DDLWizard_ExtractingAndViewingDDL.swf"></a>
</p><img src="http://www.cnblogs.com/biggates/aggbug/1601958.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/biggates/archive/2009/11/12/1601958.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/11/12/1601958.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>解决 Vista 下 IceGrid 调试时的监视错误</title><link>http://www.cnblogs.com/biggates/archive/2009/08/31/1557400.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Mon, 31 Aug 2009 08:29:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/08/31/1557400.html</guid><description><![CDATA[<p>阅读: 30 评论: 0 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-08-31 16:29 <a href="http://www.cnblogs.com/biggates/archive/2009/08/31/1557400.html" target="_blank">原文链接</a></p><p>翻译自 ZeroC 的 Ice 3.3.1 手册，附录 H.5</p>
<p>在 Vista 系的操作系统中，IceGrid 节点开启后会输出以下内容：</p>
<p>
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">warning:&nbsp;Unable&nbsp;to&nbsp;lookup&nbsp;the&nbsp;performance&nbsp;counter&nbsp;name</span></div>
</p>
<p>在 IceGridGUI 中查看各 node 的状态，均为灰色。</p>
<p>要解决这个问题，有两种方法。第一种方法是修改注册表权限，按下列步骤操作：</p>
<ol>
<li>在注册表编辑器中，打开
<div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">HKLM\SOFTWARE\Microsoft\Windows&nbsp;NT\CurrentVersion\Perflib</span></div>
</li>
<li><span style="color: #000000;">右键单击 Perflib 节点，选择 "权限..."；</span></li>
<li><span style="color: #000000;">为调试时所需的用户添加 "读取" 权限；</span></li>
</ol>
<p>第二种方法，是将调试用户添加到 "Performance Monitor Users" 用户组中。</p>
<p>调节完毕，在 IceGridGUI 中查看各 node ，均为彩色，并且不会报一开始的那个 warning 了。</p>
<p>&nbsp;</p>
<p>上述操作在 Windows Vista x86 Ultimate / Visual Studio 2008 / Ice 3.3.1 环境验证成功。</p><img src="http://www.cnblogs.com/biggates/aggbug/1557400.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/biggates/archive/2009/08/31/1557400.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/08/31/1557400.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>使用163镜像在线安装CentOS</title><link>http://www.cnblogs.com/biggates/archive/2009/06/25/1510788.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Thu, 25 Jun 2009 02:58:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/06/25/1510788.html</guid><description><![CDATA[<p>阅读: 146 评论: 0 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-06-25 10:58 <a href="http://www.cnblogs.com/biggates/archive/2009/06/25/1510788.html" target="_blank">原文链接</a></p><p>空闲时间研究一下CentOS。</p> <p><a title="http://isoredirect.centos.org/centos/5/isos/i386/" href="http://isoredirect.centos.org/centos/5/isos/i386/">http://isoredirect.centos.org/centos/5/isos/i386/</a> 提供了8.3MB 大小的在线安装包，下载速度还不错。</p> <p>在基于VirtualBox 的虚拟机上加载这个镜像，可以很方便的进入安装提示，并可以选择图形界面或文本界面进行安装。</p> <p>选择语言、键盘方案等过程后，会提示输入CentOS安装包的位置。在这里并没有任何提示，因此想到了163的镜像。</p> <p>经过试验，在服务器位置处输入 mirrors.163.com ，在远端路径处输入 centos/5/os/i386 即可定位到163的镜像，进行安装。</p> <p>&nbsp;</p> <p>PS: 在VirtualBox上似乎不能完成安装，会出错，比较奇怪。</p><img src="http://www.cnblogs.com/biggates/aggbug/1510788.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/biggates/archive/2009/06/25/1510788.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/06/25/1510788.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>令人痛苦的SyncML同步协议错误</title><link>http://www.cnblogs.com/biggates/archive/2009/06/10/1500306.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Wed, 10 Jun 2009 04:09:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/06/10/1500306.html</guid><description><![CDATA[<p>阅读: 92 评论: 0 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-06-10 12:09 <a href="http://www.cnblogs.com/biggates/archive/2009/06/10/1500306.html" target="_blank">原文链接</a></p><p>今天上午一直在翻OMA的SyncML 1.1 协议，卡在用户验证的地方，按照协议上的例子怎么算也算不出来预期的结果。</p>
<p>根据协议正文，MD5验证的算法很简单，用伪代码来表示就是这样： </p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;">result&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;base64( md5( base64( md5( username </span><span style="color: #000000;">+ </span><span style="color: #800000;">"</span><span style="color: #800000;">:</span><span style="color: #800000;">" </span><span style="color: #000000;">+ </span><span style="color: #000000;">password)) </span><span style="color: #000000;">+ </span><span style="color: #800000;">"</span><span style="color: #800000;">:</span><span style="color: #800000;">" </span><span style="color: #000000;">+ </span><span style="color: #000000;">nonce) );</span></div>
<p>用php写出来就是：</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #0000ff;">function</span><span style="color: #000000;">&nbsp;computehash(</span><span style="color: #800080;">$username</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$password</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #800080;">$nonce</span><span style="color: #000000;">){<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">base64_encode</span><span style="color: #000000;">(</span><span style="color: #008080;">pack</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">H*</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">md5</span><span style="color: #000000;">(</span><span style="color: #008080;">base64_encode</span><span style="color: #000000;">(</span><span style="color: #008080;">pack</span><span style="color: #000000;">(</span><span style="color: #000000;">'</span><span style="color: #000000;">H*</span><span style="color: #000000;">'</span><span style="color: #000000;">,</span><span style="color: #000000;">&nbsp;</span><span style="color: #008080;">md5</span><span style="color: #000000;">(</span><span style="color: #000000;">"</span><span style="color: #800080;">$username</span><span style="color: #000000;">:</span><span style="color: #800080;">$password</span><span style="color: #000000;">"</span><span style="color: #000000;">)))&nbsp;</span><span style="color: #000000;">.</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">"</span><span style="color: #000000;">:</span><span style="color: #800080;">$nonce</span><span style="color: #000000;">"</span><span style="color: #000000;">)));<br />
}</span></div>
<p>但是用协议里指定的参数：</p><div class="cnblogs_code"><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">username</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">Bruce1</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;,&nbsp;password</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">OhBehave</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;,&nbsp;nonce</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">Nonce</span><span style="color: #800000;">"</span></div>
<p>无论如何也算不出协议里给的值"Zz6EivR3yeaaENcRN6lpAQ=="， 而是 "+MEIKFrF8Qdou2B1H2YmXw=="</p>
<p>一气之下用 .NET 写了一个，结果也是相同的。</p>
<div class="cnblogs_code"><img id="Code_Closed_Image_121216" onclick="this.style.display='none'; document.getElementById('Code_Closed_Text_121216').style.display='none'; document.getElementById('Code_Open_Image_121216').style.display='inline'; document.getElementById('Code_Open_Text_121216').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" width="11" height="16"><img id="Code_Open_Image_121216" style="display: none;" onclick="this.style.display='none'; document.getElementById('Code_Open_Text_121216').style.display='none'; getElementById('Code_Closed_Image_121216').style.display='inline'; getElementById('Code_Closed_Text_121216').style.display='inline';" src="http://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" width="11" height="16"><span id="Code_Closed_Text_121216" class="cnblogs_code_Collapse">Code</span><span id="Code_Open_Text_121216" style="display: none;"><br />
<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;summary&gt;</span><span style="color: #008000;"><br />
</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;Generate&nbsp;MD5&nbsp;digest&nbsp;for&nbsp;SyncML&nbsp;authentication<br />
</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;/summary&gt;</span><span style="color: #008000;"><br />
</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;param&nbsp;name="user"&gt;&lt;/param&gt;</span><span style="color: #008000;"><br />
</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;param&nbsp;name="password"&gt;&lt;/param&gt;</span><span style="color: #008000;"><br />
</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;param&nbsp;name="nonce"&gt;&lt;/param&gt;</span><span style="color: #008000;"><br />
</span><span style="color: #808080;">///</span><span style="color: #008000;">&nbsp;</span><span style="color: #808080;">&lt;returns&gt;&lt;/returns&gt;</span><span style="color: #808080;"><br />
</span><span style="color: #0000ff;">public</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">static</span><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;GenerateSyncMLMD5(</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;user,&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;password,&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;nonce)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;System.Security.Cryptography.MD5&nbsp;md5&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;System.Security.Cryptography.MD5.Create();<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;md5.ComputeHash(Encoding.ASCII.GetBytes(user&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">:</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;password));<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">string</span><span style="color: #000000;">&nbsp;s&nbsp;</span><span style="color: #000000;">=</span><span style="color: #000000;">&nbsp;Convert.ToBase64String(md5.Hash)&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;</span><span style="color: #800000;">"</span><span style="color: #800000;">:</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;</span><span style="color: #000000;">+</span><span style="color: #000000;">&nbsp;nonce;<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;md5.ComputeHash(Encoding.ASCII.GetBytes(s));<br />
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">return</span><span style="color: #000000;">&nbsp;Convert.ToBase64String(md5.Hash);<br />
}</span></span></div>
<p>经过多方搜索，终于在 <a href="http://lists.horde.org/archives/sync/Week-of-Mon-20060703/001056.html" target="_blank">这里</a> 发现了原因：协议写错了。正确的参数应该是：</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #000000;"></span><span style="color: #000000;">username</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">Bruce2</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;,&nbsp;password</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">OhBehave</span><span style="color: #800000;">"</span><span style="color: #000000;">&nbsp;,&nbsp;nonce</span><span style="color: #000000;">=</span><span style="color: #800000;">"</span><span style="color: #800000;">Nonce</span><span style="color: #800000;">"</span><span style="color: #000000;"></span></div>
<br />
<p>我Faint&#8230;</p><img src="http://www.cnblogs.com/biggates/aggbug/1500306.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/biggates/archive/2009/06/10/1500306.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/06/10/1500306.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>C#中从WSDL文件生成Web 服务</title><link>http://www.cnblogs.com/biggates/archive/2009/06/04/1496319.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Thu, 04 Jun 2009 08:31:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/06/04/1496319.html</guid><description><![CDATA[<p>阅读: 480 评论: 0 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-06-04 16:31 <a href="http://www.cnblogs.com/biggates/archive/2009/06/04/1496319.html" target="_blank">原文链接</a></p><p>虽然知道用wsdl.exe可以从wsdl文件生成客户端，但一直以来就没搞明白要怎么从给定的wsdl文件生成相应的服务端。今天仔细研究了一下wsdl的参数，了解了这个问题。</p> <table border="1" cellspacing="0" cellpadding="2" width="400"> <tbody> <tr> <td valign="top" width="400">wsdl /si /namespace:需要使用的命名空间 WSDL文件名</td></tr></tbody></table> <p>之后会根据所给的WSDL文件生成一个代码文件，里面是一个Interface。我们用的时候只需要基于这个Interface来实现自己的Service类，就可以进行处理了。</p><img src="http://www.cnblogs.com/biggates/aggbug/1496319.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/biggates/archive/2009/06/04/1496319.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/06/04/1496319.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>有图有真相，百度屏蔽网站行为仍在继续</title><link>http://www.cnblogs.com/biggates/archive/2009/05/03/baidu_blocks_wownei.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Sun, 03 May 2009 14:09:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/05/03/baidu_blocks_wownei.html</guid><description><![CDATA[<p>阅读: 206 评论: 2 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-05-03 22:09 <a href="http://www.cnblogs.com/biggates/archive/2009/05/03/baidu_blocks_wownei.html" target="_blank">原文链接</a></p><div>
<p>百度屏蔽各类小网站的行为一直层出不穷，今天毫无由来的遭遇到了这个待遇，截图留念。 <br />
</p>
<p>在百度搜索&#8220;窝内网&#8221;，结果是错误的地址(www.sy64.com)，搜索&#8220;窝内&#8221;则找不到相应的链接。详图如下：</p>
<p>图1：搜索"窝内网" ，返回的结果是无关网页 www.sy64.com，但是注意第三个结果，maytomo.wownei.com是窝内网的一个用户的个人首页。这说明百度<strong>已经索引到了窝内网的内容</strong>，只是没有将其显示在前列(或者将它删掉了)。<br />
</p>
<p>&nbsp;<img alt="" src="http://images.cnblogs.com/cnblogs_com/biggates/%E7%99%BE%E5%BA%A6%E6%90%9C%E7%B4%A2_%E7%AA%9D%E5%86%85%E7%BD%91.png" border="1" width="521" height="704" /> <br />
</p>
<p>图2：在百度使用site关键字搜索wownei.com ，同样显示了一堆窝内网用户的自定义页面，但<strong>也没有显示首页</strong>。 <br />
</p>
</div>
<div>
<p><img alt="" src="http://images.cnblogs.com/cnblogs_com/biggates/%E7%99%BE%E5%BA%A6%E6%90%9C%E7%B4%A2_site_wownei.com.png" border="1" width="493" height="458" />&nbsp;</p>
<p>好吧，如果你要说百度不支持site关键字，那么请看下面的图：<br />
</p>
<p>图3：在百度直接搜索wownei.com ，结果是正常的。说明百度的确索引了wownei.com的域名和meta内容。相关搜索里面的内容也是正确的。<br />
</p>
<p> <img alt="" src="http://images.cnblogs.com/cnblogs_com/biggates/%E7%99%BE%E5%BA%A6%E6%90%9C%E7%B4%A2_wownei.com.png" border="1" width="801" height="392" /><br />
</p>
<p>图4：在百度搜索www.wownei.com，结果同样被转到了www.sy64.com，很匪夷所思的是，相关搜索里面的内容仍然跟之前相同，而www.sy64.com里面完全没有能跟这些内容扯上边的东西。</p>
</div>
<p><img alt="" src="http://images.cnblogs.com/cnblogs_com/biggates/%E7%99%BE%E5%BA%A6%E6%90%9C%E7%B4%A2_www.wownei.com.png" border="1" width="834" height="349" /></p>
<p>&nbsp;以上各图均为2009年5月3日22:00前后所搜索的截图。</p>
<p>&nbsp;向这种行为表示愤慨！ <br />
</p>
<p>&nbsp;</p>
<p>另：<a href="http://www.wownei.com/">窝内网</a>对此作出的反应在<a href="http://www.wownei.com/space-1-do-blog-id-13560.html">这里</a></p>
<p>另2：www.sy64.com （一路问情） 已确认于2008年3月关闭网站，因此不明白为什么百度会将搜索结果转向这个毫无关系的网站。<br />
</p>
<p> </p><img src="http://www.cnblogs.com/biggates/aggbug/1448371.html?type=1" width="1" height="1" alt=""/><p>评论: 2　<a href="http://www.cnblogs.com/biggates/archive/2009/05/03/baidu_blocks_wownei.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/05/03/baidu_blocks_wownei.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>[转]CSS Hacks</title><link>http://www.cnblogs.com/biggates/archive/2009/04/25/1443410.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Sat, 25 Apr 2009 04:35:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/04/25/1443410.html</guid><description><![CDATA[<p>阅读: 49 评论: 0 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-04-25 12:35 <a href="http://www.cnblogs.com/biggates/archive/2009/04/25/1443410.html" target="_blank">原文链接</a></p><div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">&nbsp;1</span>&nbsp;<span style="color: #008000;">/*</span><span style="color: #008000;">****&nbsp;Selector&nbsp;Hacks&nbsp;*****</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">&nbsp;2</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;IE&nbsp;6&nbsp;and&nbsp;below&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">&nbsp;3</span>&nbsp;<span style="color: #800000;">*&nbsp;html&nbsp;#uno&nbsp;&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;red&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">&nbsp;4</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">&nbsp;5</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;IE&nbsp;7&nbsp;and&nbsp;below&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">&nbsp;6</span>&nbsp;<span style="color: #800000;">*:first-child+html&nbsp;#dos&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;red&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">&nbsp;7</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">&nbsp;8</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;IE&nbsp;7&nbsp;and&nbsp;modern&nbsp;browsers&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">&nbsp;9</span>&nbsp;<span style="color: #800000;">html&gt;body&nbsp;#tres&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;red&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">10</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">11</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;Modern&nbsp;browsers&nbsp;(not&nbsp;IE&nbsp;7)&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">12</span>&nbsp;<span style="color: #800000;">html&gt;</span><span style="color: #008000;">/**/</span><span style="color: #800000;">body&nbsp;#cuatro&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;red&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">13</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">14</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;Opera&nbsp;9.27&nbsp;and&nbsp;below&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">15</span>&nbsp;<span style="color: #800000;">html:first-child&nbsp;#cinco&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;red&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">16</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">17</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;Safari&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">18</span>&nbsp;<span style="color: #800000;">html[xmlns*=""]&nbsp;body:last-child&nbsp;#seis&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;red&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">19</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">20</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">safari&nbsp;3+,&nbsp;chrome&nbsp;1+,&nbsp;opera9+,&nbsp;ff&nbsp;3.5+&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">21</span>&nbsp;<span style="color: #800000;">body:nth-of-type(1)&nbsp;#siete&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;red&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">22</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">23</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;safari&nbsp;3+,&nbsp;chrome&nbsp;1+,&nbsp;opera9+,&nbsp;ff&nbsp;3.5+&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">24</span>&nbsp;<span style="color: #800000;">body:first-of-type&nbsp;#ocho&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;&nbsp;color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;red&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">25</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">26</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;saf3,&nbsp;chrome1+&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">27</span>&nbsp;<span style="color: #800000;">@media&nbsp;screen&nbsp;and&nbsp;(-webkit-min-device-pixel-ratio:0)&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;"><br />
</span><span style="color: #008080;">28</span>&nbsp;<span style="color: #ff0000;">&nbsp;#diez&nbsp;&nbsp;{&nbsp;background</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;#FFDECE</span><span style="color: #000000;">;</span><span style="color: #ff0000;">&nbsp;border</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;2px&nbsp;solid&nbsp;#ff0000&nbsp;&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">29</span>&nbsp;<span style="color: #800000;">}<br />
</span><span style="color: #008080;">30</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">31</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">****&nbsp;Attribute&nbsp;Hacks&nbsp;*****</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">32</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">33</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;ie6&nbsp;and&nbsp;below&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">34</span>&nbsp;<span style="color: #800000;">#once&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;_color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">blue&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">35</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">36</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;ie7&nbsp;and&nbsp;below&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">37</span>&nbsp;<span style="color: #800000;">#doce&nbsp;</span><span style="color: #000000;">{</span><span style="color: #ff0000;">&nbsp;*color</span><span style="color: #000000;">:</span><span style="color: #0000ff;">&nbsp;blue&nbsp;</span><span style="color: #000000;">}</span><span style="color: #800000;">&nbsp;</span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;or&nbsp;#color:blue&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">38</span>&nbsp;<span style="color: #800000;">&nbsp;<br />
</span><span style="color: #008080;">39</span>&nbsp;<span style="color: #800000;"></span><span style="color: #008000;">/*</span><span style="color: #008000;">&nbsp;'Modern&nbsp;Browsers'&nbsp;includes&nbsp;IE8,&nbsp;whether&nbsp;you&nbsp;agree&nbsp;or&nbsp;not..&nbsp;:)&nbsp;</span><span style="color: #008000;">*/</span><span style="color: #800000;"><br />
</span><span style="color: #008080;">40</span> <span style="color: #800000;"></span><span style="color: #008080;"></span><span style="color: #800000;"></span></div>
<p>&nbsp;</p><p>原文出处：<a href="http://ajaxian.com/archives/css-browser-hacks" target="_blank">http://ajaxian.com/archives/css-browser-hacks</a></p><p>另有一个测试页面在：<a target="_blank" href="http://paulirish.com/work/csshacks.html">http://paulirish.com/work/csshacks.html</a></p><p> </p><img src="http://www.cnblogs.com/biggates/aggbug/1443410.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/biggates/archive/2009/04/25/1443410.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/04/25/1443410.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>浏览器功能一览：IE曾经垃圾，现在垃圾，将来仍然很垃圾</title><link>http://www.cnblogs.com/biggates/archive/2009/02/12/1388792.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Thu, 12 Feb 2009 01:37:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/02/12/1388792.html</guid><description><![CDATA[<p>阅读: 50 评论: 0 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-02-12 09:37 <a href="http://www.cnblogs.com/biggates/archive/2009/02/12/1388792.html" target="_blank">原文链接</a></p><p>来自 <a title="http://a.deveria.com/caniuse/#agents=All&amp;cats=All&amp;eras=All&amp;statuses=All" href="http://a.deveria.com/caniuse/#agents=All&amp;cats=All&amp;eras=All&amp;statuses=All">http://a.deveria.com/caniuse/#agents=All&amp;cats=All&amp;eras=All&amp;statuses=All</a> 的浏览器对Web标准的支持情况：</p> <p>在统计了 PNG 、HTML5 、DOM、CSS2、CSS3、SVG、Canvas 和其他一些功能之后，列出了这样的结论：</p> <p><a href="http://www.cnblogs.com/images/cnblogs_com/biggates/WindowsLiveWriter/IE_83B7/Summary_2.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Summary" border="0" alt="Summary" src="http://www.cnblogs.com/images/cnblogs_com/biggates/WindowsLiveWriter/IE_83B7/Summary_thumb.png" width="804" height="222"></a></p> <p>可见 IE 是多么的，一如既往的，垃圾。</p><img src="http://www.cnblogs.com/biggates/aggbug/1388792.html?type=1" width="1" height="1" alt=""/><p>评论: 0　<a href="http://www.cnblogs.com/biggates/archive/2009/02/12/1388792.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/02/12/1388792.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>三步实现 OpenSearch 功能</title><link>http://www.cnblogs.com/biggates/archive/2009/02/01/1382007.html</link><dc:creator>biggates</dc:creator><author>biggates</author><pubDate>Sun, 01 Feb 2009 08:12:00 GMT</pubDate><guid>http://www.cnblogs.com/biggates/archive/2009/02/01/1382007.html</guid><description><![CDATA[<p>阅读: 1425 评论: 2 作者: <a href="http://www.cnblogs.com/biggates/" target="_blank">biggates</a> 发表于 2009-02-01 16:12 <a href="http://www.cnblogs.com/biggates/archive/2009/02/01/1382007.html" target="_blank">原文链接</a></p><p>在网站上添加了 OpenSearch 功能以后，IE 7.0 和 Firefox 2.0 以上的浏览器（好吧，我承认在 Opera 和 Chrome 里没找到这个功能，但是 IE 8.0 RC 和 Firefox 3.05 是绝对没有问题的）就能够在自带的搜索栏里面添加这个网站的搜索功能了。</p>
<p>要添加 OpenSearch 功能，一共分三步：</p>
<p>第一步：实现 OpenSearch 功能；</p>
<p>第二步：编写 OpenSearch 描述文件；</p>
<p>第三步：添加对 OpenSearch 描述文件的引用。</p>
<p>那么，下来就开始吧：</p>
<h5>第一步：实现 OpenSearch 功能。</h5>
<p>这一个最简单，如果原来就有搜索，只需要使之支持 GET 参数传递就行了。</p>
<p>假设现在在网站上搜索 "abcd" ，实际的页面地址是 <a href="http://example.com/?q=abcd">http://example.com/?q=abcd</a></p>
<h5>第二步：编写 OpenSearch 描述文件。</h5>
<p>只需在网站上添加一个 xml 文件即可，内容如下：</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--><span style="color: #008080;">1</span><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" /><span style="color: #000000;">&nbsp;</span><span style="color: #0000ff;">&lt;?</span><span style="color: #ff00ff;">xml&nbsp;version="1.0"&nbsp;encoding="UTF-8"</span><span style="color: #0000ff;">?&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">2</span><span style="color: #000000;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" />&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">OpenSearchDescription&nbsp;</span><span style="color: #ff0000;">xmlns</span><span style="color: #0000ff;">="http://a9.com/-/spec/opensearch/1.1/"</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">3</span><span style="color: #000000;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">ShortName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Web&nbsp;Search</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">ShortName</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">4</span><span style="color: #000000;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Description</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">Use&nbsp;Example.com&nbsp;to&nbsp;search&nbsp;the&nbsp;Web.</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Description</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">5</span><span style="color: #000000;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Tags</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">example&nbsp;web</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Tags</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">6</span><span style="color: #000000;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Contact</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;">admin@example.com</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Contact</span><span style="color: #0000ff;">&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">7</span><span style="color: #000000;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Url&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="text/html"</span><span style="color: #ff0000;">&nbsp;<br />
</span><span style="color: #008080;">8</span><span style="color: #ff0000;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;template</span><span style="color: #0000ff;">="http://example.com/?q={searchTerms}"</span><span style="color: #0000ff;">/&gt;</span><span style="color: #000000;"><br />
</span><span style="color: #008080;">9</span><span style="color: #000000;"><img src="http://www.cnblogs.com/Images/OutliningIndicators/None.gif" alt="" align="top" />&nbsp;</span><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">OpenSearchDescription</span><span style="color: #0000ff;">&gt;</span></div>
<p>为了便于描述，将这个文件命名为 opensearch.xml 放置在网站根目录下。</p>
<h5>第三步：添加对 OpenSearch 描述文件的引用。</h5>
<p>这一步也很简单，只需要在网站的模板的 &lt;head&gt; 标记中添加一句：</p>
<div class="cnblogs_code"><!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
-->
<p><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">link&nbsp;</span><span style="color: #ff0000;">type</span><span style="color: #0000ff;">="application/opensearchdescription+xml"</span><span style="color: #ff0000;"><br />
href</span><span style="color: #0000ff;">="opensearch.xml"</span><span style="color: #ff0000;">&nbsp;title</span><span style="color: #0000ff;">="Web&nbsp;Search"</span><span style="color: #ff0000;">&nbsp;rel</span><span style="color: #0000ff;">="search"</span><span style="color: #ff0000;">&nbsp;</span><span style="color: #0000ff;">/&gt;</span></p>
</div>
<p>就行了。</p>
<h5>更多：</h5>
<p>通过修改 OpenSearch 描述文件，可以提供更多设置。</p>
<p>Firefox 支持使用 <a href="http://www.opensearch.org/Specifications/OpenSearch/Extensions/Suggestions/1.0" target="_blank">OpenSearch Suggestions 插件</a> 来进行逐字提示搜索的功能。要实现这个功能，只需根据搜索参数返回按格式编写的 JSON 数据，然后在描述文件中添加相应的 Url 参数即可。</p>
<p>IE 支持（其实 Firefox 也支持）使用 <a href="http://www.opensearch.org/Specifications/OpenSearch/Extensions/Referrer/1.0" target="_blank">OpenSearch Referrer 插件</a> 为搜索添加 Referrer 参数。</p>
<h5></h5>
<h5>参考资料：</h5>
<p><a title="OpenSearch 1.1 协议" href="http://www.opensearch.org/Specifications/OpenSearch/1.1" target="_blank">OpenSearch 1.1 协议</a></p>
<p><a title="OpenSearch 主页" href="http://www.opensearch.org/Home" target="_blank">OpenSearch 主页</a></p><img src="http://www.cnblogs.com/biggates/aggbug/1382007.html?type=1" width="1" height="1" alt=""/><p>评论: 2　<a href="http://www.cnblogs.com/biggates/archive/2009/02/01/1382007.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/biggates/archive/2009/02/01/1382007.html#commentform" target="_blank">发表评论</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/56793/" target="_blank">知名扩展 Firebug 的简化版登陆 Chrome</a><span style="color:gray">(2010-02-09 22:59)</span><br/>· <a href="http://news.cnblogs.com/n/56792/" target="_blank">Google 悄悄地启用 1e100.net，打枪地不要</a><span style="color:gray">(2010-02-09 22:57)</span><br/>· <a href="http://news.cnblogs.com/n/56791/" target="_blank">从 Google 代码库找到的好东西</a><span style="color:gray">(2010-02-09 22:46)</span><br/>· <a href="http://news.cnblogs.com/n/56789/" target="_blank">苹果在线商店临时关闭 或将推新Macbook</a><span style="color:gray">(2010-02-09 22:39)</span><br/>· <a href="http://news.cnblogs.com/n/56788/" target="_blank">豆瓣网推出豆瓣电台iPhone客户端</a><span style="color:gray">(2010-02-09 21:51)</span><br/></p><p>编辑推荐：<a href="http://news.cnblogs.com/n/56782/" target="_blank">2010年2月编程语言排行榜</a><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>