Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python json有效负载的请求冻结在>64Kb_Python_Json_Request - Fatal编程技术网

Python json有效负载的请求冻结在>64Kb

Python json有效负载的请求冻结在>64Kb,python,json,request,Python,Json,Request,主题:Python,json有效负载的请求冻结在>64Kb 在ubuntu linux上使用请求2.3 for-loop: response = requests.post(url, data=json.dumps(payload), headers=headers) results = response.json() 代码可以工作,但当有效负载>64Kb且程序冻结时失败。使用pudb,隔离问题以: Traceback File "/home/ubuntu/anacon

主题:Python,json有效负载的请求冻结在>64Kb

在ubuntu linux上使用请求2.3

for-loop:
    response = requests.post(url, data=json.dumps(payload), headers=headers)
    results = response.json()
代码可以工作,但当有效负载>64Kb且程序冻结时失败。使用pudb,隔离问题以:

Traceback
    File "/home/ubuntu/anaconda/lib/python2.7/socket.py", line 476 in readline
      data = self._socket.recv(self._rbufsize)

Variables:
  buf: StringIO
  buf_len: 0
  self: _fileobject
  size: 65537

Stack:
  readline [_fileobject] socket.py
  _read_status [HTTPResponse] httplib.py
  begin [HTTPResponse] httplib.py
  getresponse [HTTPConnection]
  _make_request [HTTPConnectionpool]
  urlopen [HTTPConnectionpool]
  send [HTTPAdaptor] adapters.py
  send [Session] sessions.py:486
  request [Session] sessions.py
  request api.py:44
  post api.py:88
似乎缓冲区没有被清除。有什么办法解决这个问题吗?

请求已经上传了请求。服务器没有响应

特定线路正在等待来自套接字的数据;self.\u socket.recvself.\u rbufsize表示读取到self.\u rbufsize套接字中的字节数

从您的跟踪中,很明显这是从HTTPResponse调用的;e、 g.它正在等待服务器将其发送回HTTP 1.1 200 OK或收到的类似响应行


您需要弄清楚为什么您的服务器显然无法处理超过64KB的请求。Python请求已经尽其所能上传请求。

该行正在等待套接字接收数据。套接字被阻止,而不是缓冲区。在跟踪点,服务器挂起。完整请求已发送到服务器,现在正在等待服务器响应HTTP/1.1状态行。非常感谢,因为它有助于隔离。服务器上不是请求就是wekzeug。使用3个不同的http服务器尝试了werkzeug——运行werzeug、gevent.pywsgi和tornado附带的简单——结果是一样的。问题是我无法将问题隔离到服务器上的特定代码。请尝试将客户端与服务器隔离。当你发布到http://httpbin.org/post 例如这是一个echo服务器,请参阅以获取一些文档。您的网络上有防火墙或路由器吗?如果httpbin也挂起,那么发布到站点的SSL版本会有所不同吗?当您使用不同的网络发布数据时会发生什么情况?