小能豆

当我在 Python 中使用 httplib 进行 OAUTH 时,我总是收到“CannotSendRequest”,

py

Traceback:
File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/base.py" in get_response
  92.                 response = callback(request, *callback_args, **callback_kwargs)
File "/home/ea/ea/hell/life/views.py" in linkedin_auth
  274.     token = oauth_linkedin.get_unauthorised_request_token()
File "/home/ea/ea/hell/life/oauth_linkedin.py" in get_unauthorised_request_token
  52.     resp = fetch_response(oauth_request, connection)
File "/home/ea/ea/hell/life/oauth_linkedin.py" in fetch_response
  42.         connection.request(oauth_request.http_method,url)
File "/usr/lib/python2.6/httplib.py" in request
  874.             self._send_request(method, url, body, headers)
File "/usr/lib/python2.6/httplib.py" in _send_request
  891.         self.putrequest(method, url, **skips)
File "/usr/lib/python2.6/httplib.py" in putrequest
  778.             raise CannotSendRequest()

Exception Type: CannotSendRequest at /linkedin/auth
Exception Value: 

然后,有时我会得到:BadStatusLine错误而不是这个。

这是随机的。我不知道它们何时发生或为什么发生。当我运行 Django 开发服务器时,这种情况发生得更频繁(在 APACHE2 中发生的频率较低…但它仍然会随机发生)。当此错误发生时,我必须重新启动服务器。


阅读 11

收藏
2025-01-11

共1个答案

小能豆

如果您尝试重用httplib.HTTP尚未充分使用的对象,就会发生这种情况。也许是您正在使用的库中的连接池,并且在请求处理期间抛出了异常?建议每次都创建新的连接对象。

2025-01-11