问题:当使用以下代码访问网站时,程序将面对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中起作用?在
状态代码299是非标准的,Twitter API Error Code Reference没有列出它。很可能原因与这段代码无关
QNetworkReplydefines代码299为“未知错误”,可能是Qt错误。在
作为建议,请尝试使用正确的Twitter API for Python。在
问题发现了,很明显我在windows上的Python3.3上意外地运行了它,它是为Python2.7构建的(在linux机器中使用)。在
也许PyQt应该在启动前检查一下!在
相关问题 更多 >
编程相关推荐