Часть кода в Python 3.5 корректно очищалась для сохранения продуктов на сервере MySQL через api-rest, где выполняется проект в Django 1.10.4.
Когда сервер изменился, он начал выдавать ошибку 500 при выполнении метода PUT для сохранения продуктов, которые представлены в формате Json.Конфигурация сервера, работающего с Nginx и Gunicorn, выглядит следующим образом:
server {
listen 80;
server_name www.xxxxxxxx.es;
return 301 https://www.xxxxxxx.es$request_uri;
}
server {
listen 443 default ssl;
ssl_certificate /etc/letsencrypt/live/xxxxxx.es-0001/fullchain.pem; #
ssl_certificate_key /etc/letsencrypt/live/xxxxxx.es-0001/privkey.pem;
client_max_body_size 5M;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /home/ubuntu/thebest5;
}
location /media/ {
root /home/ubuntu/thebest5;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/ubuntu/thebest5/thebest5.sock;
}
}
Код утилиты scrapper в python, в которой хранятся продукты, не выполняется в этой строке при выполнении отладки:
response = requests.put(API_URL + 'scan/' + str(self.search_tag[id]), data=
json.dumps(self.search_tag), headers={'Authorization': 'JWT ' + self.token,
'Content-Type':'application/json'})
Скрепер работает хорошо, пока не попытается сохранить продукты на сервере базы данных, а затем метод PUT завершится с ошибкой 500.Ошибка говорит:
C:\Users\ana\Anaconda3\lib\site-
packages\requests\packages\urllib3\response.py in _update_chunk_length(self)
534 try:
535 self.chunk_left = int(line, 16)
536 except ValueError:
ValueError: invalid literal for int() with base 16: b''