500仅当从windows运行时出现内部错误(7)

2024-10-02 14:21:19 发布

您现在位置:Python中文网/ 问答频道 /正文

问题:当使用以下代码访问网站时,程序将面对500 Internal Error:(我使用PyQt)

只在我的windows设备(WIN7)上发生,而不是在我的linux(ubuntu 12.04 LTS)上,因为它们是不同的计算机(但在同一局域网上)

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)

输出:

^{pr2}$

其中URL是页面URL。在


  • 我尝试了很多网址,以防问题真的是在服务器本身,但它不是。在
  • cons_enc有效(b64编码字符串)

如何修复?如果你知道为什么它在ubuntu中起作用?在


Tags: selfifrequestubuntudefmanagernetworkreply
2条回答

状态代码299是非标准的,Twitter API Error Code Reference没有列出它。很可能原因与这段代码无关

QNetworkReplydefines代码299为“未知错误”,可能是Qt错误。在

作为建议,请尝试使用正确的Twitter API for Python。在

问题发现了,很明显我在windows上的Python3.3上意外地运行了它,它是为Python2.7构建的(在linux机器中使用)。在

也许PyQt应该在启动前检查一下!在

相关问题 更多 >