2012-07-25 86 views
0

我發送以下請求到Twitter API,它是得到以下錯誤:500服務器錯誤發送到Twitter API的請求時

http://search.twitter.com/search.json?q=feel%2BOR%2Bi%27m%2BOR%2Bi+am%2BOR%2Bim%2BOR%2Bmakes+me%2BOR%2Bmade+me%2BOR%2Bmaking+me%2BOR%2Bmaking+me+feel%2BOR%2Bmy+mood%2BOR%2Bi%27m+so%2BOR%2Bim+so&rpp=99&page=14 

Traceback (most recent call last): 
    File "C:\Users\andrew\Downloads\twitterthingv5test.py", line 95, in <module> 
    moodParser() 
    File "C:\Users\andrew\Downloads\twitterthingv5test.py", line 93, in moodParser 
    query() 
    File "C:\Users\andrew\Downloads\twitterthingv5test.py", line 37, in query 
    main(columns) 
    File "C:\Users\andrew\Downloads\twitterthingv5test.py", line 52, in main 
    response = urllib2.urlopen(twiturl) 
    File "C:\Python27\lib\urllib2.py", line 126, in urlopen 
    return _opener.open(url, data, timeout) 
    File "C:\Python27\lib\urllib2.py", line 400, in open 
    response = meth(req, response) 
    File "C:\Python27\lib\urllib2.py", line 513, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "C:\Python27\lib\urllib2.py", line 438, in error 
    return self._call_chain(*args) 
    File "C:\Python27\lib\urllib2.py", line 372, in _call_chain 
    result = func(*args) 
    File "C:\Python27\lib\urllib2.py", line 521, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
HTTPError: HTTP Error 500: Internal Server Error 

我使用生成URL的代碼是這樣的:

twiturl = "http://search.twitter.com/search.json?q=" + urlinfo + "&rpp=99&page=14" 

發生了什麼事?這是否會成爲一次發送太多請求的實例?

回答

0

它在第一次嘗試時對我也一樣,所以它可能不是速率限制。一再縮短查詢:

這讓我覺得這是對查詢長度的限制。添加封信,直到它再次失敗,這是一部分的方式,通過字mood

然而,260個字符的查詢字符串成功:

docs say a布特q參數:

A UTF-8, URL-encoded search query of 1,000 characters maximum, including operators. Queries may additionally be limited by complexity.

這很奇怪的是中途切割字算作額外的複雜性,但你去那裏。

+0

所以它似乎是基於複雜性來阻止它。 – 2012-07-25 21:50:54

+0

Hrm。好的,我必須解決這個問題。 – 2012-07-25 21:51:30