2013-05-06 2 views
0

문제 : 단지 내 상자에 (내가 PyQt는 작업)500 내부 오류는 Windows에서 실행하는 경우 (7)

발생 (: 프로그램이 500 Internal Error이 코드를 사용하여 웹 사이트에 액세스 할 때 직면 내 리눅스에서 WIN7)과하지 (우분투 12.04 LTS)를 참고하시기 바랍니다 서로 다른 컴퓨터입니다 (하지만) 동일한 LAN에

def sendBearer_req(self): 
    request = QNetworkRequest() 
    request.setUrl(QUrl("https://api.twitter.com/oauth2/token")) 
    request.setRawHeader('Content-Type', 'application/x-www-form-urlencoded;charset=UTF-8') 
    request.setRawHeader('Authorization', 'Basic %s' % cons_enc) 

    self.network_manager = QNetworkAccessManager() 
    if self.network_manager.receivers(SIGNAL("finished")) > 0: 
     self.network_manager.finished.disconnect() 
    self.network_manager.finished.connect(self._request_finished)   

    self.network_manager.post(request, self.urlencode_post({'grant_type' : 'client_credentials'})) 

def _request_finished(self, reply): 
    if not reply.error() == QNetworkReply.NoError: 
     # request probably failed 
     print(reply.error()) 
     print(reply.errorString()) 
     print("retrying") 
     self.sendBearer_req() 
    else: 
     self.sendBearer(reply) 

출력 :

299  
Error downloading URL - server replied: Internal Server Error  
retrying 

여기서 URL은 페이지 URL입니다.


  • 나는 문제는 서버 자체에 정말 경우 많은 URL을 그것을 한 시도했지만이 아니다.
  • cons_enc은 (B64 인코딩 된 문자열)

어떻게 문제를 해결하는 유효합니까? 그리고 왜 우분투에서 작동하는지 알고 있다면?

답변

0

상태 코드 299는 비표준이며 Twitter API Error Code Reference에는 표시되지 않습니다. 아마도이 코드 스텁과 관련이 없습니다.

QNetworkReply defines 코드 299는 "알 수없는 오류"로 표시 될 수 있습니다. 아마도 Qt 버그 일 수 있습니다.

제안 사항으로는 Twitter API for Python을 사용해보십시오.

+1

트위터 API를 사용하는 것을 금지하는 과제입니다. 오류는 500이 아닌 299입니다 (299는'QNetworkReply' 오류 코드이고 Twitter 오류 코드가 아닙니다) –

+0

왜 우분투에서 제대로 작동합니까? –

+0

@ Dan, 다른 빌드/버전입니까? –

0

문제는 분명히 창에서 파이썬 3.3에서 우연히 만났으며 파이썬 2.7 (리눅스 상자에서 사용됨) 용으로 제작되었습니다.

어쩌면 PyQt가 시작 전에 확인해야합니다!