2013-05-05

让GoAgent直接使用自己指定的Google服务器IP地址

一直很疑惑,为什么proxy.ini中把[google_cn]下面的hosts改成了自定义的IP地址,但日志中显示GoAgent客户端还在寻找其它的Google服务器IP,并试图作为GAE代理进行连接。


因为一直都算还能用,所以就没下决心来解决这个问题(发现自己真的很懒)。但最近GoAgent客户端自己找到的IP越来越不靠谱,有时候甚至会导致一半左右的请求都会被重试,实在是太浪费时间了。而且第一次使用的时候DNS解析导致的等待也让人很不爽。所以终于决定来看看到底是怎么回事。

一看代码就明白了,问题很简单:GoAgent客户端针对[google_cn]这个Section有特殊行为。它会去从www.google.cn和www.g.cn这两个域名进行解析得到IP(好像会无视proxy.ini中自己设的地址或IP),然后进行建立SSL连接的测试,根据测试情况决定是否切换到[google_hk](这又是一个特殊行为)。

这种做法,对于初级用户可能会比较适合。但如果想自己控制GoAgent客户端使用哪个Google服务器IP,最好是另外开一个Section,比如[google_cn2]或[google_us]之类。这样就不会碰到代码里面预设的这些特殊行为了。

PS: 以上内容基于GoAgent 2.1.11/2.1.15测试。

2 条评论:

  1. 技术白求教怎么建立[google_cn2]类似的Section,能否提供一个改好的proxy.ini文件下载,谢过~

    回复删除
    回复
    1. 不好意思,无意开展普及活动。建议你:
      1.去学习一下关于INI文件的基本知识。
      2.参考一下proxy.ini,只要简单地参考一下就行。

      删除