2019独角兽企业重金招聘Python工程师标准>>>

前两天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 openerurllib2.install_opener(opener)

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

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

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

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

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

转载于:https://my.oschina.net/oncereply/blog/11037

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

  1. [转]菜鸟解决方案--绑定域名后GAppProxy出现404错

    前两天Google的*.appspot.com被和谐后,广大墙友的GappProxy就用不了了,不过通过自己绑定域名的GAE却可以正常访问,所以我想,通过自定绑定的域名来使用GAppProxy应该也是 ...

  2. vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理)

    vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) 参考文章: (1)vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理) (2)https://www. ...

  3. 安装Python3.5后,pip报错Fatal error in launcher: Unable to create process using ‘“‘解决方案

    安装Python3.5后,pip报错Fatal error in launcher: Unable to create process using '"'解决方案 参考文章: (1)安装Py ...

  4. 关于Access数据库执行Update语句后,不报错,但影响行数总是返回0的问题

    最近碰到一个奇怪的问题,使用Access数据库执行Update语句后,不报错,但影响行数总是返回0. 因为是第一次碰到这个问题,纠结了半天.后来在网上搜索得到解决方案: SQL语句传参数的顺序和语句中 ...

  5. android 开发问题集(一):SDK更新后 运行程序报错Location of the Android SDK has not been setup in the preferences

    SDK更新后 运行程序报错Location of the Android SDK has not been setup in the preferences 问题描述:android跟新后报错loca ...

  6. 解决appium-inspector连接后在Appium中报错:No route found for /sessions

    完整报错 Appium inspector 连接点击start session后在Appium中报错: [HTTP] <-- GET /sessions 404 6 ms - 211 [HTTP ...

  7. java 实现接口后重写方法报错

    java 实现接口后重写方法报错 java 实现接口后重写方法报错 The method contextDestroyed(ServletContextEvent) of type InitListe ...

  8. vue代码上传服务器后背景图片404解决方法

    vue代码上传服务器后背景图片404解决方法 参考文章: (1)vue代码上传服务器后背景图片404解决方法 (2)https://www.cnblogs.com/Mrrabbit/p/7830944 ...

  9. @Data注解使用后get set报错解决方法

    @Data注解使用后get set报错解决方法 参考文章: (1)@Data注解使用后get set报错解决方法 (2)https://www.cnblogs.com/lijinshan950823/ ...

最新文章

  1. c中结构体的4种定义
  2. 化身“监工”的AI,我们该如何相处?
  3. 折纸机器人的步骤图解_折纸图解飞机
  4. EOS 执行合约报错, CODE: 3090003
  5. Luogu P1886 滑动窗口
  6. DOM中的outerHTML,innerHTML,outerText,innerText的区别
  7. VTK:PCA用法实战
  8. 【数据结构与算法】之深入解析“解数独”的求解思路与算法示例
  9. 【Linux】一步一步学Linux——usernetctl命令(175)
  10. Java高级面试题!java小游戏制作视频
  11. 使用更安全的C字符串操纵
  12. JQuery操作SharePoint Web Services之添加列表数据
  13. 蚂蚁金服一面:十道经典面试题解析
  14. 单模光纤和多模光纤区别
  15. Java8 新特性之stream
  16. [Zer0pts2020]easy strcmp细节探究
  17. UITableViewCell设置行距
  18. epson r330语言设置_爱普生打印机使用方法 爱普生r330打印机故障
  19. 信息系统项目管理-项目采购管理-十二
  20. 【opencv-c++】获得视频宽高以及帧率

热门文章

  1. C语言_逻辑运算符使用分析
  2. java实现排他平方数
  3. mysql字符集maxlen_Mysql_字符集设置
  4. Tc3.0/Tc2.0使用方法
  5. 工作后,如何免费查论文
  6. DirBuster的初涉使用笔记
  7. 国科大学习资料--模式识别与机器学习(黄庆明)--第二次作业答案
  8. Jmeter 实现HTTPS双向认证
  9. 计算机网络发展史课程论文,计算机网络的发展史论文.doc
  10. HTML实战案例4:制作淘宝店铺列表页面