0

私はPythonを初めて使用し、練習プロジェクトとしてTwitterの公開データストリームに接続しようとしています。私はこれまでに得ました:

>>> import urllib2
>>> url = urllib2.urlopen("https://stream.twitter.com/1/statuses/sample.json")
Trackback...(omitted)
urllib2.HTTPError: HTTP Error 401: Unauthorized

401エラーが予想されましたが、どのように前進するかについて私は途方に暮れています。私は現在TwitterAuthenticationAPI Docsを読んでいます。彼らはサードパーティのライブラリを推奨しています。これは私ができることですが、何が起こっているのかを本当に知りたいので避けたいと思います。OAuthデータをヘッダーに入れる必要があると思いますか?add_header()を使用する必要がありますか?

4

1 に答える 1

2

投稿したリンクにはHTTP認証が必要です。

>>> from urllib2 import *
>>> password_mgr = HTTPPasswordMgrWithDefaultRealm()
>>> url = "https://stream.twitter.com/1/statuses/sample.json"
>>> password_mgr.add_password(None, url, 'USERNAME', 'PASSWORD')
             #worked with my real twitter credentials ^ 
>>> h = HTTPBasicAuthHandler(password_mgr)
>>> opener = build_opener(h)
>>> page = opener.open(url)
>>> page.getcode()
200

これを見る

于 2012-08-09T18:44:51.940 に答える