0

問題: このコードを使用して Web サイトにアクセスすると、プログラムが直面して500 Internal Errorいます: (私は PyQt を使用しています)

私のWindowsボックス(WIN7)でのみ発生し、私のLinux(ubuntu 12.04 LTS)では発生しません.fyiは異なるコンピューターです(ただし、同じ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 でエンコードされた文字列)

修正方法は?そして、ubuntuでなぜそれが機能するのか知っているなら?

4

2 に答える 2

0

ステータス コード 299 は非標準であり、Twitter API エラー コード リファレンスには記載されていません。原因はこのコード スタブに関連していない可能性があります

QNetworkReplyコード 299 を「不明なエラー」と定義しています。これは Qt のバグである可能性があります。

提案として、適切なTwitter API for Pythonを使用してみてください。

于 2013-05-06T18:06:36.040 に答える