菜鸟解决方案--绑定域名后GAppProxy出现404错

答复哈 发布于 2010/12/11 20:19
阅读 2K+
收藏 3

前两天Google的*.appspot.com被和谐后,广大墙友的GappProxy就用不了了,不过通过自己绑定域名的GAE却可以正常访问,所以我想,通过自定绑定的域名来使用GAppProxy应该也是可以的,待我使用最新版的GAppProxy2时,却无情的收到404错误:

Error response

Error code 404.

Message: Local proxy error, Fetchserver not found at the URL you specified, please check it..

Error code explanation: 404 = Nothing matches the given URI.

但是从理论上来说使用自己的域名和使用appspot.com,结果应该都是一样的,不过这毕竟是程序的返回结果,所以我决定看能不能从代码中找到解决方法(连Python语法都不熟的俺去从代码里找问题根源,是不是有点自不量力了~_~,不过你别喷俺,这也是一种学习方法不是?)...

... ...

嘿,功夫不负有心人哈,还真让俺逮着了~

在proxy.py的199行处有这么一段代码:

if local_proxy != "":
    proxy_handler = urllib2.ProxyHandler({"http": local_proxy})
else:
    proxy_handler = urllib2.ProxyHandler(google_proxy)
opener = urllib2.build_opener(proxy_handler)
# set the opener as the default opener
urllib2.install_opener(opener)

而且之后就是"resp = urllib2.urlopen(request, params)"进行打开连接,也正是在这一步抛出了404异常,当然,凭这点代码还不足判断出错误的根源来,所以我只能一步步的查找这些代码的句义(菜鸟的无奈~).

最后通过ProxyHandler这个方法名,及local_proxy这个从配置文件中读取出来的变量,猜想ProxyHandler这个方法是不是应该是设置代理的意思?Google一下,果真是这么个方法,然后又通过测试google_proxy变量,在这一步时:

 google_proxy={'http': 'www.google.cn:80'}

这就让我纳闷了,这个代理地址是在common.py里设置的

GOOGLE_PROXY = 'www.google.cn:80'

但是为什么把google作为代理地址就不得而知了.

知道了错误原因,解决方法就多了...我的方法是去掉else里的代码:

if local_proxy != "":
    proxy_handler = urllib2.ProxyHandler({"http": local_proxy})
    opener = urllib2.build_opener(proxy_handler)
    # set the opener as the default opener
    urllib2.install_opener(opener)

即未配置代理时,不运行这几行代码.

保存,运行...一切OK!

下面是我打包exe后的proxy.exe,你若使用localproxy-2.0.0-win又不想自己打包,就下载这个吧:

http://commondatastorage.googleapis.com/oncereply/myproxy.zip

 

本人Python菜鸟,此方法只是临时解决,期待GAppProxy给出更完美的方法.

加载中
0
O
OuDakai

这是菜鸟么……太强悍了,Gappproxy页面提出此问题的楼主表示五体投地……

0
答复哈
答复哈

引用来自#2楼“OuDakai”的帖子

这是菜鸟么……太强悍了,Gappproxy页面提出此问题的楼主表示五体投地……

~_~...的确菜鸟~

0
O
OuDakai

= =哈哈,用这个办法在我ANDROID上失败了啊……

0
答复哈
答复哈

引用来自#4楼“OuDakai”的帖子

= =哈哈,用这个办法在我ANDROID上失败了啊……

蛾...Android上也能跑GAppProxy?

0
答复哈
答复哈

引用来自#5楼“答复哈”的帖子

引用来自#4楼“OuDakai”的帖子

= =哈哈,用这个办法在我ANDROID上失败了啊……

蛾...Android上也能跑GAppProxy?

原proxy.py的417行有这么一句:

google_proxy = {"http": common.GOOGLE_PROXY}

你可以试试改成

google_proxy = {}

这样也不行的话,俺就木办法喽~

~_~...GFW强大到能墙掉手机网络?

0
O
OuDakai

引用来自#6楼“答复哈”的帖子

引用来自#5楼“答复哈”的帖子

引用来自#4楼“OuDakai”的帖子

= =哈哈,用这个办法在我ANDROID上失败了啊……

蛾...Android上也能跑GAppProxy?

原proxy.py的417行有这么一句:

google_proxy = {"http": common.GOOGLE_PROXY}

你可以试试改成

google_proxy = {}

这样也不行的话,俺就木办法喽~

~_~...GFW强大到能墙掉手机网络?

在Android上有个应用叫SL4A http://code.google.com/p/android-scripting/,可以运行很多语言的脚本,很好玩,在这上面可以用Gappproxy翻墙,手机网络一直都和普通网络都一样是有墙的啊

0
y
yavg

我用的PY版 搞不定http://www15.picfront.org/picture/gIbVeQxpwB/thb/123.jpg

我是python2.7不知是不是版本的问题。

刚把你的exe下下来了。可以用。

0
y
yavg

我用的PY版 搞不定http://picfront.org/d/7Y7y

我是python2.7不知是不是版本的问题。

刚把你的exe下下来了。可以用。

0
答复哈
答复哈

引用来自#7楼“OuDakai”的帖子

引用来自#6楼“答复哈”的帖子

引用来自#5楼“答复哈”的帖子

引用来自#4楼“OuDakai”的帖子

= =哈哈,用这个办法在我ANDROID上失败了啊……

蛾...Android上也能跑GAppProxy?

原proxy.py的417行有这么一句:

google_proxy = {"http": common.GOOGLE_PROXY}

你可以试试改成

google_proxy = {}

这样也不行的话,俺就木办法喽~

~_~...GFW强大到能墙掉手机网络?

在Android上有个应用叫SL4A http://code.google.com/p/android-scripting/,可以运行很多语言的脚本,很好玩,在这上面可以用Gappproxy翻墙,手机网络一直都和普通网络都一样是有墙的啊

这个,能不能支持Android,还得问问作者.~_~,俺这木条件测试哦.

0
答复哈
答复哈

引用来自#9楼“yavg”的帖子

我用的PY版 搞不定http://picfront.org/d/7Y7y

我是python2.7不知是不是版本的问题。

刚把你的exe下下来了。可以用。

之前我用notepad++编辑,运行也出现了问题(就只print了个东西),后来改用UliPad编辑就好了...

不知道是不是跟我一样的原因~

返回顶部
顶部