<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fwolf's Blog &#187; Internet - Fwolf's Blog</title>
	<atom:link href="http://www.fwolf.com/blog/category/internet/feed" rel="self" type="application/rss+xml" />
	<link>http://www.fwolf.com/blog</link>
	<description>随心·随意·随缘·努力～</description>
	<lastBuildDate>Sun, 29 Aug 2010 14:52:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Apple Mail 邮件太多不下载问题的解决</title>
		<link>http://www.fwolf.com/blog/post/451</link>
		<comments>http://www.fwolf.com/blog/post/451#comments</comments>
		<pubDate>Mon, 28 Jun 2010 17:41:35 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[Problem]]></category>
		<category><![CDATA[recent]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/?p=451</guid>
		<description><![CDATA[Apple Mail version3.6(936) 原先拿到这个 mac 本本的时候，由于家中网速比较慢，收发邮件比较折磨人，而我又属于对邮件依赖较重的，所以专门申请了个新的 gmail 帐号，专门用在这个机器上，把邮件下载到本地便于处理（平时个人邮件都是自己发给自己的 N 个邮箱共享），顺便体验下 Apple Mail 软件。 Apple Mail 倒算是中规中矩，按下不表，中间有一段时间没怎么用这台 mac，而这个专用 gmail 帐号里面堆积的邮件应该也不少了，简单估计有几百封吧。终于，等到我想用的那一天，突然发现它不下载新邮件了。 逐项检查，系统和软件工作正常，网络正常，gmail 登录进去肯定是有新邮件，而且 pop 设置正常。所有的东西都没有动过，并且原先刚设置好这个帐号的时候，邮件下载都是正常的。Command+0 打开 Activity 窗口监视──连接、登录、查找新邮件、退出，貌似正常，但完全无视我邮箱中赫然在目的新邮件哪。 纯属无意中翻看 gmail 的在线帮助，其实对这类帮助并不报太大希望的，因为一般上面只有一些常规问题的答案，我的问题比较蹊跷，八成没有。帮助里面专门有针对 Apple Mail 3.0的 Troubleshooting，列了几个问题，对照我的情况，逐个回答如下： Have you recently used Gmail&#8217;s POP service with this client and address? --&#62; Yes, this address just worked recently When are you [...]]]></description>
			<content:encoded><![CDATA[<p>Apple Mail version3.6(936)</p>

<p>原先拿到这个 mac 本本的时候，由于家中网速比较慢，收发邮件比较折磨人，而我又属于对邮件依赖较重的，所以专门申请了个新的 gmail 帐号，专门用在这个机器上，把邮件下载到本地便于处理（平时个人邮件都是自己发给自己的 N 个邮箱共享），顺便体验下 Apple Mail 软件。</p>

<p>Apple Mail 倒算是中规中矩，按下不表，中间有一段时间没怎么用这台 mac，而这个专用 gmail 帐号里面堆积的邮件应该也不少了，简单估计有几百封吧。终于，等到我想用的那一天，突然发现它不下载新邮件了。</p>

<p>逐项检查，系统和软件工作正常，网络正常，gmail 登录进去肯定是有新邮件，而且 pop 设置正常。所有的东西都没有动过，并且原先刚设置好这个帐号的时候，邮件下载都是正常的。<code>Command+0</code> 打开 Activity 窗口监视──连接、登录、查找新邮件、退出，貌似正常，但完全无视我邮箱中赫然在目的新邮件哪。</p>

<p>纯属无意中翻看 gmail 的在线帮助，其实对这类帮助并不报太大希望的，因为一般上面只有一些常规问题的答案，我的问题比较蹊跷，八成没有。帮助里面专门有<a href="http://mail.google.com/support/bin/answer.py?answer=86396#123">针对 <code>Apple Mail 3.0</code>的</a> Troubleshooting，列了几个问题，对照我的情况，逐个回答如下：</p>

<ul>
<li>Have you recently used Gmail&#8217;s POP service with this client and address?</li>
<li><code>--&gt;</code> Yes, this address just worked recently </li>
<li>When are you encountering problems?</li>
<li><code>--&gt;</code> Downloading </li>
<li>Does your client display an error?</li>
<li><code>--&gt;</code> No, my mail client does not show an error </li>
<li>Downloading issues</li>
<li><code>--&gt;</code> Some or all messages don&#8217;t download </li>
</ul>

<p>然后帮助给了4个解决方法，其中第2条是亮点：</p>

<pre><code>Try enabling recent mode in your POP client by replacing 'username@gmail.com'
in the Username field of your POP client settings with 'recent:username@gmail.com',
and uncheck the box next to Remove copy from server after retrieving a message
in your Advanced POP client settings. Recent mode fetches the last 30 days of mail,
regardless of any other factors. If you don't Leave messages on server your 
messages will be moved to Trash after download.
</code></pre>

<p>看仔细了，在邮件帐户前面加上 <code>recent:</code>，只下载最近30天的邮件，这个以前没听说过，从之，我的邮件又愉快的下载了。至于30天以前的邮件如何下载，我是不需要了。至于为什么会这样，还真不明白是 gmail 这里有限制，还是 Apple Mail 无法读取30天以前邮件的邮件头导致无法下载，希望有明白人指点一二。</p>

<p>附 gmail 帮助截图为据：</p>

<p><a href="http://www.flickr.com/photos/fwolf/4743129964/" title="Gmail帮助中关于Apple Mail的Troubleshooting by fwolf, on Flickr"><img src="http://farm5.static.flickr.com/4134/4743129964_1bef46274f.jpg" width="409" height="500" alt="Gmail帮助中关于Apple Mail的Troubleshooting" /></a></p>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/download" title="download" rel="tag">download</a>, <a href="http://www.fwolf.com/blog/post/tag/gmail" title="gmail" rel="tag">gmail</a>, <a href="http://www.fwolf.com/blog/post/tag/mac" title="mac" rel="tag">mac</a>, <a href="http://www.fwolf.com/blog/post/tag/mail" title="mail" rel="tag">mail</a>, <a href="http://www.fwolf.com/blog/post/tag/problem" title="Problem" rel="tag">Problem</a>, <a href="http://www.fwolf.com/blog/post/tag/recent" title="recent" rel="tag">recent</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/155" title="终于能够通过phpmailer使用gmail账号发送邮件了 (2006-04-14)">终于能够通过phpmailer使用gmail账号发送邮件了</a> (50)</li>
	<li><a href="http://www.fwolf.com/blog/post/379" title="[Mutt]用msmtp替代esmtp作发信代理 (2008-01-12)">[Mutt]用msmtp替代esmtp作发信代理</a> (2)</li>
	<li><a href="http://www.fwolf.com/blog/post/176" title="让phpmailer支持中文名称的附件 (2006-05-23)">让phpmailer支持中文名称的附件</a> (5)</li>
	<li><a href="http://www.fwolf.com/blog/post/417" title="机房搬家过程中的几件趣事 (2009-03-22)">机房搬家过程中的几件趣事</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/17" title="我的email客户端软件选择历程 (2005-05-23)">我的email客户端软件选择历程</a> (7)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/451/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash 无法修改设置的问题</title>
		<link>http://www.fwolf.com/blog/post/449</link>
		<comments>http://www.fwolf.com/blog/post/449#comments</comments>
		<pubDate>Fri, 25 Sep 2009 06:02:07 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Problem]]></category>
		<category><![CDATA[setting]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/?p=449</guid>
		<description><![CDATA[这个怪怪的问题也不是一天两天了，就是 flash 设置窗口，或者当 flash 游戏需要使用本地存储空间时，自动弹出的设置窗口，这个窗口无法用鼠标点击，用键盘 TAB 键能在各部分之间游荡但还是无法调整设置，基本上就卡死在这里了。 遇到这种情况，可以访问这个链接：http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager07.html，注意链接中并不是图片，而是实际的设置调整组件。比如刚才说的访问本地资源需要确认的问题，在这里设置成Never Ask Again，同网站的资源就再也不会弹出窗口导致 flash 卡死了。 Ubuntu 9.04, Firefox 3.0.13, Flash Player 10.0 r32. 参考： Adobe Flash Player &#8230; Settings Manager Tags: flash, Problem, setting Related posts 机房搬家过程中的几件趣事 (0) 升级到8.10 intrepid过程中libc6依赖性死循环问题的解决 (6) [ubuntu]安装vmware时找不到c header files的小问题 (4) Windows安全更新KB951748可能导致dns无法解析 (1) Vim的奇怪问题 (0)]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/fwolf/3951938393/" title="Adobe flash player settings by fwolf, on Flickr" style="float:left;padding:0 20px 20px 0;border:0"><img src="http://farm3.static.flickr.com/2585/3951938393_f2cf2fa0b5_o.png" width="211" height="132" alt="Adobe flash player settings" /></a></p>

<p>这个怪怪的问题也不是一天两天了，就是 flash 设置窗口，或者当 flash 游戏需要使用本地存储空间时，自动弹出的设置窗口，这个窗口无法用鼠标点击，用键盘 TAB 键能在各部分之间游荡但还是无法调整设置，基本上就卡死在这里了。</p>

<p>遇到这种情况，可以访问这个链接：<a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager07.html">http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager07.html</a>，注意链接中并<strong>不是图片</strong>，而是实际的设置调整组件。比如刚才说的访问本地资源需要确认的问题，在这里设置成<code>Never Ask Again</code>，同网站的资源就再也不会弹出窗口导致 flash 卡死了。</p>

<p>Ubuntu 9.04, Firefox 3.0.13, Flash Player 10.0 r32.</p>

<h4>参考：</h4>

<ul>
<li><a href="http://www.pcreview.co.uk/forums/thread-3129596.php">Adobe Flash Player &#8230; Settings Manager</a></li>
</ul>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/flash" title="flash" rel="tag">flash</a>, <a href="http://www.fwolf.com/blog/post/tag/problem" title="Problem" rel="tag">Problem</a>, <a href="http://www.fwolf.com/blog/post/tag/setting" title="setting" rel="tag">setting</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/417" title="机房搬家过程中的几件趣事 (2009-03-22)">机房搬家过程中的几件趣事</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/426" title="升级到8.10 intrepid过程中libc6依赖性死循环问题的解决 (2009-01-04)">升级到8.10 intrepid过程中libc6依赖性死循环问题的解决</a> (6)</li>
	<li><a href="http://www.fwolf.com/blog/post/162" title="[ubuntu]安装vmware时找不到c header files的小问题 (2006-05-09)">[ubuntu]安装vmware时找不到c header files的小问题</a> (4)</li>
	<li><a href="http://www.fwolf.com/blog/post/445" title="Windows安全更新KB951748可能导致dns无法解析 (2009-07-30)">Windows安全更新KB951748可能导致dns无法解析</a> (1)</li>
	<li><a href="http://www.fwolf.com/blog/post/367" title="Vim的奇怪问题 (2007-11-04)">Vim的奇怪问题</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/449/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>压缩网页图片</title>
		<link>http://www.fwolf.com/blog/post/447</link>
		<comments>http://www.fwolf.com/blog/post/447#comments</comments>
		<pubDate>Wed, 12 Aug 2009 04:54:34 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[compress]]></category>
		<category><![CDATA[convert]]></category>
		<category><![CDATA[gif]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[jpg]]></category>
		<category><![CDATA[optimize]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[yslow]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/?p=447</guid>
		<description><![CDATA[不压不知道，一压吓一跳，大部分图片几乎都能在近似无损的情况下压缩掉 65% 原始大小左右，如果指明有损压缩，比如 jpeg 的 85 %，还能更小。 Smush.it smushit 现在已经属于 Yslow 的一部分了，可以通过 firefox 插件使用，也能在线用，缺点就是你的图片必须能够从公网访问。 可以压缩各种图片，按照官方的解释，它会尝试各种工具和算法，找到最优的方式。因此，smushit 是一种很安全的压缩工具，几乎看不到差别，就是用起来麻烦些。 imagemagick 不同的图片格式有各自的特点，比如 gif 善于存储颜色较少的图片，也是动画图片的首选；png 善于存储能够矢量化的图片，jpg 则善于存储颜色、图片变化都比较多的图片。根据不同的图片特点，进行类型转换，有时能收到不错的效果。 图片 convert 之后，还可以利用其它工具进一步压缩，不过效果不大了。 另附一个转换图片类型之后，批量替换模板中调用文件名的脚本： grep logo.gif * -R &#124; awk '{print $1}' &#124; sed 's/://' &#124; xargs -I '{}' sed -i 's/logo.gif/logo.jpg/' '{}' jpegoptim 这是今天刚发现的好东西，ubuntu 源中有，主要可以用它去除 jpg 图片文件当中的 comment exif IPTC 等无用标记，我测试的情况压缩率比 smushit [...]]]></description>
			<content:encoded><![CDATA[<p>不压不知道，一压吓一跳，大部分图片几乎都能在近似无损的情况下压缩掉 65% 原始大小左右，如果指明有损压缩，比如 jpeg 的 85 %，还能更小。</p>

<h3>Smush.it</h3>

<p><a href="http://developer.yahoo.com/yslow/smushit/" title="Smush.it&trade;">smushit</a> 现在已经属于 <a href="http://developer.yahoo.com/yslow/">Yslow</a> 的一部分了，可以通过 firefox 插件使用，也能在线用，缺点就是你的图片必须能够从公网访问。</p>

<p>可以压缩各种图片，按照<a href="http://developer.yahoo.com/yslow/smushit/faq.html#faq_crushtool">官方的解释</a>，它会尝试各种工具和算法，找到最优的方式。因此，<a href="http://developer.yahoo.com/yslow/smushit/" title="Smush.it&trade;">smushit</a> 是一种很安全的压缩工具，几乎看不到差别，就是用起来麻烦些。</p>

<h3>imagemagick</h3>

<p>不同的图片格式有各自的特点，比如 gif 善于存储颜色较少的图片，也是动画图片的首选；png 善于存储能够矢量化的图片，jpg 则善于存储颜色、图片变化都比较多的图片。根据不同的图片特点，进行类型转换，有时能收到不错的效果。</p>

<p>图片 convert 之后，还可以利用其它工具进一步压缩，不过效果不大了。</p>

<p>另附一个转换图片类型之后，批量替换模板中调用文件名的脚本：</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">grep</span> logo.gif <span style="color: #000000; font-weight: bold;">*</span> <span style="color: #660033;">-R</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'{print $1}'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #ff0000;">'s/://'</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">xargs</span> <span style="color: #660033;">-I</span> <span style="color: #ff0000;">'{}'</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-i</span> <span style="color: #ff0000;">'s/logo.gif/logo.jpg/'</span> <span style="color: #ff0000;">'{}'</span></pre></div></div>


<h3>jpegoptim</h3>

<p>这是今天刚发现的好东西，ubuntu 源中有，主要可以用它去除 jpg 图片文件当中的 comment exif IPTC 等无用标记，我测试的情况压缩率比 <a href="http://developer.yahoo.com/yslow/smushit/" title="Smush.it&trade;">smushit</a> 略低一点点。由于能够通过命令行使用，所以易用性更强。</p>

<p>一般我喜欢用 <code>--strip-all</code> 参数去除所有无用内容，实际压缩之前可以用 <code>-n</code> 参数预测一下压缩率（默认直接压缩覆盖源文件了），<code>24bit Adobe</code> 类型的图片基本上都能够压缩掉 65% 原始大小，碰到 <code>24bit JFIF</code> 这种类型的图片一般压不动，但带上有损压缩参数比如 <code>-m85</code>之后，依然能够达到较理想的压缩率，并且图片损失效果不明显。</p>

<p>遇到无法压缩的图片、压缩后体积反而增大的图片会自动跳过，很贴心。</p>

<p>基本上，有了上面三种方式，就能够处理大部分网页图片了。</p>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/compress" title="compress" rel="tag">compress</a>, <a href="http://www.fwolf.com/blog/post/tag/convert" title="convert" rel="tag">convert</a>, <a href="http://www.fwolf.com/blog/post/tag/gif" title="gif" rel="tag">gif</a>, <a href="http://www.fwolf.com/blog/post/tag/image" title="image" rel="tag">image</a>, <a href="http://www.fwolf.com/blog/post/tag/jpg" title="jpg" rel="tag">jpg</a>, <a href="http://www.fwolf.com/blog/post/tag/optimize" title="optimize" rel="tag">optimize</a>, <a href="http://www.fwolf.com/blog/post/tag/png" title="png" rel="tag">png</a>, <a href="http://www.fwolf.com/blog/post/tag/yslow" title="yslow" rel="tag">yslow</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/430" title="转换静态图像为视频 (2009-01-19)">转换静态图像为视频</a> (1)</li>
	<li><a href="http://www.fwolf.com/blog/post/277" title="使用mencoder转换佳能数码相机录像文件的最佳参数 (2007-01-01)">使用mencoder转换佳能数码相机录像文件的最佳参数</a> (11)</li>
	<li><a href="http://www.fwolf.com/blog/post/383" title="[MediaTemple]虚拟主机内存优化的一点心得 (2008-02-19)">[MediaTemple]虚拟主机内存优化的一点心得</a> (2)</li>
	<li><a href="http://www.fwolf.com/blog/post/53" title="PNG图片压缩工具 (2005-06-19)">PNG图片压缩工具</a> (7)</li>
	<li><a href="http://www.fwolf.com/blog/post/89" title="IE 6.0仍然无法显示PNG图片文件的原貌？ (2005-11-14)">IE 6.0仍然无法显示PNG图片文件的原貌？</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/447/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Curl奇怪的403错误</title>
		<link>http://www.fwolf.com/blog/post/444</link>
		<comments>http://www.fwolf.com/blog/post/444#comments</comments>
		<pubDate>Tue, 30 Jun 2009 17:27:33 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Develop]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[403]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/?p=444</guid>
		<description><![CDATA[自己用的小PHP应用，使用curl抓网页下来处理，为了穿墙方便，使用Privoxy作为代理，便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题，访问google baidu这些网站居然都返回403错误，而访问其他的一些网站没事，如果设置为不使用proxy则都能正常访问。 难道google baidu就不让用proxy连接么？显然不可能，所以打开curl的信息输出（curl_setopt($this-&#62;mSh, CURLOPT_VERBOSE, 1);）看看，得到以下结果： * Trying 127.0.0.1... * connected * Connected to 127.0.0.1 (127.0.0.1) port 8118 (#0) * Establish HTTP proxy tunnel to www.baidu.com:80 &#62; CONNECT www.baidu.com:80 HTTP/1.0 Host: www.baidu.com:80 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) Proxy-Connection: Keep-Alive &#60; HTTP/1.0 403 Connection not allowable &#60; X-Hint: If you read this [...]]]></description>
			<content:encoded><![CDATA[<p>自己用的小PHP应用，使用curl抓网页下来处理，为了穿墙方便，使用Privoxy作为代理，便于选择哪些网站使用proxy、哪些不用。但今天却遇到了奇怪的问题，访问google baidu这些网站居然都返回403错误，而访问其他的一些网站没事，如果设置为不使用proxy则都能正常访问。</p>

<p>难道google baidu就不让用proxy连接么？显然不可能，所以打开curl的信息输出（<code>curl_setopt($this-&gt;mSh, CURLOPT_VERBOSE, 1);</code>）看看，得到以下结果：</p>

<pre><code>*   Trying 127.0.0.1... * connected
* Connected to 127.0.0.1 (127.0.0.1) port 8118 (#0)
* Establish HTTP proxy tunnel to www.baidu.com:80
&gt; CONNECT www.baidu.com:80 HTTP/1.0
Host: www.baidu.com:80
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Proxy-Connection: Keep-Alive

&lt; HTTP/1.0 403 Connection not allowable
&lt; X-Hint: If you read this message interactively, then you know why this happens ,-)
&lt; 
* The requested URL returned error: 403
* Received HTTP code 403 from proxy after CONNECT
* Closing connection #0
... Failed.
</code></pre>

<p>可以看到proxy服务器工作正常，的确是baidu返回了403错误，但原因肯定还在我这边。终于，从网上（<a href="http://curl.haxx.se/mail/archive-2006-04/0054.html">1of2</a>, <a href="http://curl.haxx.se/mail/archive-2006-04/0055.html">2of2</a>）得到了点启发──我使用的是proxytunnel而非proxy。</p>

<p>在代码中，有这么一句：</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">mSh</span><span style="color: #339933;">,</span> CURLOPT_HTTPPROXYTUNNEL<span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">mSh</span><span style="color: #339933;">,</span> CURLOPT_PROXY<span style="color: #339933;">,</span> <span style="color: #000088;">$phost</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<p>php文档中没有详细说明，不过<code>man curl</code>中有详细解释，两者都是代理，proxytunnel（<code>-p参数</code>）允许其他协议通过http代理传输，而proxy（<code>-x参数</code>）则只能走http协议。所以我猜测，google baidu的服务器和curl的proxytunnel不和，所以返回403。</p>

<p>禁用掉上面2行代码的第一句后，curl访问恢复正常。</p>

<p>比较奇怪的是，几种操作系统下还不一样，一台MAC OSX就要显式的禁用proxytunnel才可以，curl版本：</p>

<pre><code>$ curl --version
curl 7.16.3 (powerpc-apple-darwin9.0) libcurl/7.16.3 OpenSSL/0.9.7l zlib/1.2.3
Protocols: tftp ftp telnet dict ldap http file https ftps 
Features: GSS-Negotiate IPv6 Largefile NTLM SSL libz 
</code></pre>

<p>而另外一台ubuntu则完全不受影响，怎么都能用，curl版本：</p>

<pre><code>$ curl --version
curl 7.18.2 (i486-pc-linux-gnu) libcurl/7.18.2 OpenSSL/0.9.8g zlib/1.2.3.3 libidn/1.10
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz 
</code></pre>

<p>MT主机上的centos也没事，curl版本：</p>

<pre><code>$ curl --version
curl 7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Protocols: tftp ftp telnet dict ldap http file https ftps 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz 
</code></pre>

<p>看来不完全是curl版本问题，MAC OSX的确与众不同啊。</p>

<p>还有一个原因也会导致curl返回403错误，如果设置了：</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_NOBODY<span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<p>则需要紧跟着设置：</p>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">	<span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_CUSTOMREQUEST<span style="color: #339933;">,</span> <span style="color: #0000ff;">'GET'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>


<p>不然会因为http服务器不允许 HEAD 命令而返回403错误。参考：<a href="http://forums.devshed.com/php-development-5/trouble-with-a-curl-request-in-php-445222.html">Trouble with a cURL request in PHP</a>。MAC OSX上curl之所以特殊，也不排除是这种原因吧。</p>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/403" title="403" rel="tag">403</a>, <a href="http://www.fwolf.com/blog/post/tag/curl" title="curl" rel="tag">curl</a>, <a href="http://www.fwolf.com/blog/post/tag/error" title="error" rel="tag">error</a>, <a href="http://www.fwolf.com/blog/post/tag/http" title="http" rel="tag">http</a>, <a href="http://www.fwolf.com/blog/post/tag/php" title="PHP" rel="tag">PHP</a>, <a href="http://www.fwolf.com/blog/post/tag/proxy" title="proxy" rel="tag">proxy</a>, <a href="http://www.fwolf.com/blog/post/tag/tunnel" title="tunnel" rel="tag">tunnel</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/411" title="由一个错误学到的一些php安全配置问题 (2008-07-13)">由一个错误学到的一些php安全配置问题</a> (4)</li>
	<li><a href="http://www.fwolf.com/blog/post/391" title="adodb5连接sybase的一个错误 (2008-03-25)">adodb5连接sybase的一个错误</a> (0)</li>
	<li><a href="http://www.fwolf.com/blog/post/300" title="针对$_SERVER['PHP_SELF']的跨站脚本攻击（XSS） (2007-03-18)">针对$_SERVER['PHP_SELF']的跨站脚本攻击（XSS）</a> (3)</li>
	<li><a href="http://www.fwolf.com/blog/post/443" title="配置安全的共享web服务器（抛砖引玉） (2009-06-09)">配置安全的共享web服务器（抛砖引玉）</a> (4)</li>
	<li><a href="http://www.fwolf.com/blog/post/400" title="选择Eclipse PHP Development Tools(PDT)作为PHP开发工具 (2008-05-03)">选择Eclipse PHP Development Tools(PDT)作为PHP开发工具</a> (8)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/444/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>teamol=WebCollab</title>
		<link>http://www.fwolf.com/blog/post/432</link>
		<comments>http://www.fwolf.com/blog/post/432#comments</comments>
		<pubDate>Sat, 28 Feb 2009 16:19:33 +0000</pubDate>
		<dc:creator>Fwolf</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[webcollab]]></category>

		<guid isPermaLink="false">http://www.fwolf.com/blog/?p=432</guid>
		<description><![CDATA[如果你曾经在国内某个php源码下载网站下载过一个叫teamol的团队任务分配软件，不知你有没有注意到，它和国外开源项目WebCollab之间似乎有着亲密的联系。 本来我也没注意，可这个teamol下载回来以后安装颇不顺利，文档TeamOL setup.doc和安装界面有不一样的地方，虽然国内开源项目用doc写文档不算奇怪，但这个文档内容也太少了。代码注释中有个“官方网站”http://www.inodea.cn是打不开的，代码中很多地方标的版本号是0.1，可下载时我记得说的出3.0或者3.2版本。 开始安装以后有个地方卡壳了，还没安装数据库，就要从数据库里信息来验证用户是否有权限安装。hack安装之后，path配置也有问题，模板中还有一些错误，比如明明这段函数内没有$title这个变量却多次使用，要知道即使是global $title也是没有值的。 反正歪歪扭扭总算把程序配置得能运转了，开始试试，功能倒还有点让我满意的意思，除了日期选择的弹出窗口我极其不喜欢。然后我就发现了一件让我大跌眼镜的事情，这么一个错误百出或者说有点像半成品的“国产开源”作品，居然不仅有英、中文支持，还有一个看似排版比较成熟的英文帮助页面： 好奇的我挑了帮助页面中的一句话上G一搜，便找到了WebCollab。仔细比较下来，两者的目录结构也几乎一样： 结果应该不用我说了，也或许teamol的作者原想只是以webcollab为蓝本边学习边制作一个全新的系统吧，从注释中的版本0.1和修改过使用frame的页面框架中能够看出作者还是付出了些劳动的。 回到主题，用于小组内工作任务分配跟踪，倒是可以试试WebCollab，界面是简陋了点，基本的内容算是都有了。但这类软件，至今没找到一个特别好用的，包括很多在线的GTD或者项目管理系统。 Tags: GTD, opensource, PHP, webcollab Related posts 针对$_SERVER['PHP_SELF']的跨站脚本攻击（XSS） (3) 配置安全的共享web服务器（抛砖引玉） (4) 选择Eclipse PHP Development Tools(PDT)作为PHP开发工具 (8) 让phpmailer支持中文名称的附件 (5) 终于能够通过phpmailer使用gmail账号发送邮件了 (50)]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/fwolf/3315783583/" title="Team Online 项目管理系统 by fwolf, on Flickr"><img src="http://farm4.static.flickr.com/3364/3315783583_6549d775e4_o.png" width="354" height="263" alt="Team Online 项目管理系统" /></a></p>

<p>如果你曾经在国内某个php源码下载网站下载过一个叫teamol的团队任务分配软件，不知你有没有注意到，它和国外开源项目<a href="http://webcollab.sourceforge.net/">WebCollab</a>之间似乎有着亲密的联系。</p>

<p>本来我也没注意，可这个teamol下载回来以后安装颇不顺利，文档<code>TeamOL setup.doc</code>和安装界面有不一样的地方，虽然国内开源项目用doc写文档不算奇怪，但这个文档内容也太少了。代码注释中有个“官方网站”http://www.inodea.cn是打不开的，代码中很多地方标的版本号是0.1，可下载时我记得说的出3.0或者3.2版本。</p>

<p>开始安装以后有个地方卡壳了，还没安装数据库，就要从数据库里信息来验证用户是否有权限安装。hack安装之后，path配置也有问题，模板中还有一些错误，比如明明这段函数内没有<code>$title</code>这个变量却多次使用，要知道即使是<code>global $title</code>也是没有值的。</p>

<p>反正歪歪扭扭总算把程序配置得能运转了，开始试试，功能倒还有点让我满意的意思，除了日期选择的弹出窗口我极其不喜欢。然后我就发现了一件让我大跌眼镜的事情，这么一个错误百出或者说有点像半成品的“国产开源”作品，居然不仅有英、中文支持，还有一个看似排版比较成熟的英文帮助页面：</p>

<p><a href="http://www.flickr.com/photos/fwolf/3315826755/" title="webcollab-help by fwolf, on Flickr"><img src="http://farm4.static.flickr.com/3640/3315826755_5522fc9314_m.jpg" width="240" height="123" alt="webcollab-help" /></a></p>

<p>好奇的我挑了帮助页面中的一句话上G一搜，便找到了<a href="http://webcollab.sourceforge.net/">WebCollab</a>。仔细比较下来，两者的目录结构也几乎一样：</p>

<p><a href="http://www.flickr.com/photos/fwolf/3316666910/" title="dir structure of teamol and webcollab by fwolf, on Flickr"><img src="http://farm4.static.flickr.com/3664/3316666910_9b69bd7dc4_m.jpg" width="240" height="165" alt="dir structure of teamol and webcollab" /></a></p>

<p>结果应该不用我说了，也或许teamol的作者原想只是以webcollab为蓝本边学习边制作一个全新的系统吧，从注释中的版本0.1和修改过使用frame的页面框架中能够看出作者还是付出了些劳动的。</p>

<p>回到主题，用于小组内工作任务分配跟踪，倒是可以试试<a href="http://webcollab.sourceforge.net/">WebCollab</a>，界面是简陋了点，基本的内容算是都有了。但这类软件，至今没找到一个特别好用的，包括很多在线的GTD或者项目管理系统。</p>

<p><a href="http://www.flickr.com/photos/fwolf/3316619628/" title="WebCollab login by fwolf, on Flickr"><img src="http://farm4.static.flickr.com/3595/3316619628_fcbf0f7500_m.jpg" width="240" height="197" alt="WebCollab login" /></a></p>

	Tags: <a href="http://www.fwolf.com/blog/post/tag/gtd" title="GTD" rel="tag">GTD</a>, <a href="http://www.fwolf.com/blog/post/tag/opensource" title="opensource" rel="tag">opensource</a>, <a href="http://www.fwolf.com/blog/post/tag/php" title="PHP" rel="tag">PHP</a>, <a href="http://www.fwolf.com/blog/post/tag/webcollab" title="webcollab" rel="tag">webcollab</a><br />

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.fwolf.com/blog/post/300" title="针对$_SERVER['PHP_SELF']的跨站脚本攻击（XSS） (2007-03-18)">针对$_SERVER['PHP_SELF']的跨站脚本攻击（XSS）</a> (3)</li>
	<li><a href="http://www.fwolf.com/blog/post/443" title="配置安全的共享web服务器（抛砖引玉） (2009-06-09)">配置安全的共享web服务器（抛砖引玉）</a> (4)</li>
	<li><a href="http://www.fwolf.com/blog/post/400" title="选择Eclipse PHP Development Tools(PDT)作为PHP开发工具 (2008-05-03)">选择Eclipse PHP Development Tools(PDT)作为PHP开发工具</a> (8)</li>
	<li><a href="http://www.fwolf.com/blog/post/176" title="让phpmailer支持中文名称的附件 (2006-05-23)">让phpmailer支持中文名称的附件</a> (5)</li>
	<li><a href="http://www.fwolf.com/blog/post/155" title="终于能够通过phpmailer使用gmail账号发送邮件了 (2006-04-14)">终于能够通过phpmailer使用gmail账号发送邮件了</a> (50)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://www.fwolf.com/blog/post/432/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
