Gerapy/Gerapy

windows10 谷歌浏览器无法上传爬虫代码文件zip

InfernalAzazel opened this issue · 2 comments

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:
1.创建 docker-compose.yml

version: '3.1'
services:
 spiderAdmin:
    image: germey/gerapy
    container_name: spiderAdmin
    hostname: spiderAdmin
    restart: always
    volumes:
      - "~/gerapy:/app/gerapy"
    ports:
      - "8000:8000"
  1. sudo docker-compose up -d
  2. windows10 打开谷歌浏览器 输入 Gerapy 服务器地址
  3. 点击项目管理
  4. 点击创建
  5. 点击上传
  6. 选择压缩好的爬虫code文件zip

**Traceback
Copy traceback displayed in console to here.
ERROR - 2022-05-27 16:32:56,785 - process: 15 - utils.py - gerapy.server.core.utils - 564 - utils - [Errno 104] Connection reset by peer
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/django/http/request.py", line 344, in read
return self._stream.read(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 42, in read
result = self.buffer + self._read_limited(size - len(self.buffer))
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 30, in _read_limited
result = self.stream.read(size)
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 42, in read
result = self.buffer + self._read_limited(size - len(self.buffer))
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/wsgi.py", line 30, in _read_limited
result = self.stream.read(size)
File "/usr/local/lib/python3.6/socket.py", line 586, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [Errno 104] Connection reset by peer
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/gerapy/server/core/utils.py", line 562, in wrapper
result = func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py", line 54, in wrapped_view
return view_func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 509, in dispatch
response = self.handle_exception(exc)
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 469, in handle_exception
self.raise_uncaught_exception(exc)
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
raise exc
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py", line 506, in dispatch
response = handler(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/rest_framework/decorators.py", line 50, in handler
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/gerapy/server/core/views.py", line 336, in project_upload
file = request.FILES['file']
File "/usr/local/lib/python3.6/site-packages/rest_framework/request.py", line 442, in FILES
self._load_data_and_files()
File "/usr/local/lib/python3.6/site-packages/rest_framework/request.py", line 279, in _load_data_and_files
self._data, self._files = self._parse()
File "/usr/local/lib/python3.6/site-packages/rest_framework/request.py", line 354, in _parse
parsed = parser.parse(stream, media_type, self.parser_context)
File "/usr/local/lib/python3.6/site-packages/rest_framework/parsers.py", line 109, in parse
data, files = parser.parse()
File "/usr/local/lib/python3.6/site-packages/django/http/multipartparser.py", line 150, in parse
for item_type, meta_data, field_stream in Parser(stream, self._boundary):
File "/usr/local/lib/python3.6/site-packages/django/http/multipartparser.py", line 658, in iter
for sub_stream in boundarystream:
File "/usr/local/lib/python3.6/site-packages/django/http/multipartparser.py", line 480, in next
return LazyStream(BoundaryIter(self._stream, self._boundary))
File "/usr/local/lib/python3.6/site-packages/django/http/multipartparser.py", line 507, in init
unused_char = self._stream.read(1)
File "/usr/local/lib/python3.6/site-packages/django/http/multipartparser.py", line 378, in read
out = b''.join(parts())
File "/usr/local/lib/python3.6/site-packages/django/http/multipartparser.py", line 369, in parts
chunk = next(self)
File "/usr/local/lib/python3.6/site-packages/django/http/multipartparser.py", line 392, in next
output = next(self._producer)
File "/usr/local/lib/python3.6/site-packages/django/http/multipartparser.py", line 455, in next
data = self.flo.read(self.chunk_size)
File "/usr/local/lib/python3.6/site-packages/django/http/request.py", line 346, in read
raise UnreadablePostError(*e.args) from e
django.http.request.UnreadablePostError: [Errno 104] Connection reset by peer
Internal Server Error: /api/project/upload
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response
"returned None instead." % (callback.module, view_name)
ValueError: The view gerapy.server.core.utils.wrapper didn't return an HttpResponse object. It returned None instead.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Environment (please complete the following information):

  • OS: [e.g. Windows 10]
  • Server [e.g Ubuntu Server 20.04 LTS ]
  • Browser [e.g. Chrome 版本 101.0.4951.67(正式版本) (64 位)]
  • Python Version [e.g. 3.6.2]
  • Gerapy Version [e.g. 0.8.6]
  • docker-compose version [e.g 1.25.1, build a82fef07]
  • Docker version [e.g. 20.10.16, build aa7e414]
  • docker image [germey/gerapy:latest]

Additional context
Add any other context about the problem here.

作者有些坑啊,悄悄补丁好了没有留言,我天天关注呢。

已经补丁好了