【问题标题】:Using Tweepy API behind proxy在代理后面使用 Tweepy API
【发布时间】:2012-10-21 22:29:41
【问题描述】:

我有一个使用 Tweepy,一个用于 Twitter 的 Python 包装器。我正在用 Python 编写一个小型 GUI 应用程序,用于更新我的 Twitter 帐户。

目前,我只是在测试我是否可以连接到 Twitter,因此使用了 test() 调用。我在 Squid 代理服务器后面。我应该对 sn-p 进行哪些更改才能完成我的工作。

在 bash shell 中设置 http_proxy 对我没有帮助。

def printTweet(self):
    #extract tweet string
    tweet_str = str(self.ui.tweet_txt.toPlainText()) ;
    #tweet string extracted.
    self.ui.tweet_txt.clear()  ;

    self.tweet_on_twitter(str);

def tweet_on_twitter(self,my_tweet) :
    auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET);
    auth.set_access_token(ACCESS_KEY, ACCESS_SECRET) ;
    api = tweepy.API(auth) ;

    if api.test() :
        print 'Test successful' ;
    else :
        print 'Test unsuccessful';

【问题讨论】:

  • python中的分号不需要,可以全部去掉。
  • 是的,先生,但我喜欢使用分号。需要关于主题的帮助:)
  • 你会寂寞的..

标签: python oauth proxy tweepy


【解决方案1】:

我猜你应该设置“https_proxy”。

在我的 linux 上,我使用这个:

> export HTTPS_PROXY="http://xxxx:8888"

在运行我的 Tweepy 脚本之前。

Tweep 使用“requests”包发送请求,请阅读http://docs.python-requests.org/en/master/user/advanced/#proxies 了解更多信息。

【讨论】:

  • 为什么您的export 行被注释掉了?这实际上表明您没有使用它。
  • 感谢您的建议,我刚刚将“#”更改为“>”。
【解决方案2】:

这是一个老问题,但希望这会有所帮助。

https://bitbucket.org/sakito/tweepy 为 tweepy 提供了 urllib 并入其中;代理设置运行良好。流有一点问题(至少在我的情况下),但稍作调整即可使用。

【讨论】:

    【解决方案3】:

    编辑:原来这不是一个可行的答案,但我把它留在这里供参考


    由于快速浏览代码表明 tweepy 正在使用 urllib2.urlopen & co.,因此最简单的方法可能是覆盖默认开启器...

    # 'x.x.x.x' = IP of squid server
    your_squid_server = urllib2.ProxyHandler({'http': 'x.x.x.x', 'https': 'x.x.x.x'})
    new_opener = urllib2.build_opener(your_squid_server)
    urllib2.install_opener(new_opener) 
    

    虽然目前还没有环境可以检查...

    在导入 tweepy 之前执行上述操作,以确保新的开启器生效

    【讨论】:

    • tweepy其实是直接使用httplib的。
    • @Martijn 哇哦 - 好吧,没注意到,但现在我看了更多 - 是的 - 事实上它同时使用了...
    【解决方案4】:

    tweepy 中的代理支持严重不足;有一个patch available 旨在解决这个问题。

    补丁将 Tweepy 从直接使用 httplib 切换为使用 urllib2,这意味着它会支持 http_proxy 环境变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-08-06
      • 2015-10-04
      • 2013-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多