2013年5月29日星期三

如何临时解决看 youTube 难的问题?

不少爬墙网友投诉有时看 youTube 有难度,其实解决这个问题并不难。

在 FireFox 和 Chrome 里都提供了两个扩展,能帮我们把视频下载到电脑观看

 


另外,我们也可以借助一些所谓的云储存进行离线下载来暂时解决这个问题


下次再次遇到这类问题时,相信应该知道怎么做了。

2013年5月28日星期二

GoAgent 的 "Python Urlfetch Error:'GET' " 到底是怎么回事,如何解决?

用 GoAgent 的朋友经常会遇到 "Python Urlfetch Error:'GET'" 的问题,在一次和推友的对话中,无意中使我对这个问题产生了兴趣,现在来谈谈我的理解和很有限度地提供一些解决方法。

图一

首先,来看看我们一般是怎么打开网页的(假设A是你,B是网站):

1)A点击链接或输入网址;
2)A发送请求到B;
3)B收到请求,把网页数据传回A
4)A阅读网页

在2)和3)之间可能会出现一些情况,如(僻除ISP),输入的网址无效,网页不存在,服务器正在维护或关闭,路由出问题(诸如天灾)又或A和B之间沟通上出了问题都会造成我们无法正常打开网页。

在2)和3)之间,无论成功与否都有一个返回码叫 HTTP response status codes (以下统称RSC),这个码不一定从B所传回,可以从2)和3)之间的任何一个环节中传回。


以上4步,A和B是直接联系的,但如果我们用代理上网(设为C),那么A和B就必须要通过C才能联系得上:

1)A点击链接或输入网址;
2)A的请求送到C;
3)C向B发出请求;
4)B收到请求,把网页数据传回C;
5)C再把数据传送回A;
6)A阅读网页

这回,一旦出现情况,RSC会被传回到C,"Python Urlfetch Error:'GET'" 正是由C传回到A的错误信息。

 图二

谷歌提供了一个叫 URLFetch Python API,GoAgent 就是利用它和外界联系,让它能自由和谷歌以外的网站沟通。

我们欲了解 GoAgent 所传回的错误信息,得要仔细看看才行,"Python Urlfetch Error" 是一个笼统的信息,细心看下去就是 "GET", "get" 意味着C向B索取数据(网页内容),这个 "GET"(还有 POST,HEAD,PUTDELETE)都不是关键的,它只是告诉你C向B提出什么类型的请求,关键部分在下面那几行,在图一部分,我尝试打开一个不存在的网站,错误信息就是:

DNSLookupFailedError('DNS lookup failed for URL: http://www.prankwang.com/',), deadline=60
DNSLookupFailedError('DNS lookup failed for URL: http://www.prankwang.com/',), deadline=120


这个信息告诉我们,C在到达B前,进行 DNS 检查的时候所发生的错误。

在图二里,关键字是 "DownloadError", 说明无法下载网页,如果刷一刷就没事,说明很可能是在C和B联系的过程中出了点问题,如果一直都刷不出来,而 GoAgent 的设置又正确,那最常见的可能就是网页已经不存在了(404),然而,网页不存在不是不能打开网页的唯一原因,下面我们来看看当遇到类似问题时应该如何解决。

当C和B之间出了问题,我们在A点,能做些什么呢:

1) 如果你初装了 GaAgent, 记得把在 proxy.ini 里的 id 填上;
2) 刷新几次;
3) 把浏览器关了,重新打开;
4) 清除浏览器的缓冲区;
5) 清除 cookies
6) 用浏览器的安全模式尝试一下;
7) 换一个浏览器试试;
8) 重启电脑;
9) 重启 modem, 如果安装了路由或和交换器,重启一次;
10)这可能是 ISP 造成的,试试和他们联系;
11)联系B的站长,告诉ta这个情况;
12)向 GoAgent 作者(@phuslu) 反应一下;
13)这可能是 Python URLfetch API 服务器的问题,等待一下,谷歌会修复的。

祝翻墙无阻!

特别感谢 @neil_alpha,在和ta的对话中使我对这个问题有更深的思考

2013年5月25日星期六

如何利用ifttt从那些不支持“另存为“ 的图片网站里(如Flickr/Instagram)取得原图?

Flickr和Instagram有很多超漂亮的图片,但可惜的是,这些网站基于某种理由,我们是无法下载到原图的,要下载原图,得另外想想办法,以下我来讲讲我所使用的办法。

我个人比较喜欢 Flickr,因为里面的图片相当之有水准,一些好的图片,我都会下载然后设为壁纸(电脑/手机),因此,在这里,我就用 Flickr 作为例子。

ifttt 是一个相当给力的网站,在以往的一些博文中也经常提及它,今天我们也用它来达到我们的目的。


以下是简单步骤:
1)在 ifttt 的 this 选 Flickr;
2)然后选择 "New public favorite" ;
3)在 that 处,你可以选云空间,如 DropBox, Gdrive ...(可以把图片直接放进去)



也可以选择其他方式如邮件,我选择了邮件,这样免去了在空间里进进出出的动作。
4)点击 “+”后选择 "Original Image source URL"。
设置完毕后,我们就可以到 flickr 选择心爱的图片,看准后点击 favorite 图标(小星星),


完成。