Django Как я могу отследить, где этот вызов сделан - PullRequest
0 голосов
/ 24 сентября 2019

Поскольку я создал новый проект (Django 2.2 и Python 3.7), эта ошибка периодически печатается каждые 60 с.

Not Found: /graphql
[24/Sep/2019 13:23:50] "GET /graphql HTTP/1.1" 404 4216
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 53701)
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socketserver.py", line 650, in process_request_thread
    self.finish_request(request, client_address)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socketserver.py", line 720, in __init__
    self.handle()
  File "/Users/robertofernandez/KMH/flowlemon_backen/lib/python3.7/site-packages/django/core/servers/basehttp.py", line 171, in handle
    self.handle_one_request()
  File "/Users/robertofernandez/KMH/flowlemon_backen/lib/python3.7/site-packages/django/core/servers/basehttp.py", line 179, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

Я думаю, что эта ошибка вызвана некоторой зависимостью, которую я установил (У меня нет представления или URL-вызова graphql, и я вообще не использую graphql в своем проекте), но я не могу определить, какой из пакетов вызывает проблемы.

needs.txt

attrs==19.1.0
certifi==2019.6.16
chardet==3.0.4
coreapi==2.3.3
coreschema==0.0.4
defusedxml==0.6.0
Django==2.2.4
django-braces==1.13.0
django-cors-headers==3.1.0
django-extensions==2.2.1
django-filter==2.2.0
django-oauth-toolkit==1.2.0
django-rest-framework-social-oauth2==1.1.0
djangorestframework==3.10.2
drf-yasg==1.16.1
idna==2.8
inflection==0.3.1
itypes==1.1.0
Jinja2==2.10.1
loguru==0.3.2
MarkupSafe==1.1.1
oauthlib==3.1.0
packaging==19.1
PyJWT==1.7.1
pyparsing==2.4.2
python-decouple==3.1
python3-openid==3.1.0
pytz==2019.2
requests==2.22.0
requests-oauthlib==1.2.0
ruamel.yaml==0.16.5
ruamel.yaml.clib==0.1.2
six==1.12.0
social-auth-app-django==3.1.0
social-auth-core==3.2.0
sqlparse==0.3.0
uritemplate==3.0.0
urllib3==1.25.3

Есть идеи, как мне это отследить?

1 Ответ

1 голос
/ 27 сентября 2019

Я догадываюсь, что это веб-интерфейс, вызывающий эту ошибку, поскольку пакетам Django обычно не требуется отправлять HTTP-запросы на сервер Django.Кроме того, тот факт, что это происходит периодически, указывает на опрос клиентов.Например, возможно, у вас есть клиент Apollo?

Чтобы конкретно ответить на ваш вопрос, вы можете добавить маршрут на /graphql, а затем осмотреть клиента и реферера запроса.

1) Обновить urls.py с временным маршрутом к представлению отладки

urlpatterns = [
    ...
    path('graphql', my_debug_view),
    ]

2) Добавьте представление отладки для отображения информации запроса на консоли сервера запуска, используя print

from django.http import HttpResponse

def my_debug_review(request):
    print(request.META)
    return HttpResponse("")

Теперь вместоошибка 404 каждые 60 секунд вы увидите информацию о запросе.

Когда вы закончите, не забудьте удалить эти изменения.

...