Как решить ошибку с получением bottlenose пустого объекта: ожидаемая строка или байтоподобный объект

#python #amazon-product-api #bottlenose

#python #amazon-product-api #bottlenose

Вопрос:

Я запускаю свой код на сервере, и соединение с Amazon работает правильно при первой загрузке на сервере, но после некоторых запросов он постоянно терпит неудачу. Если я перезапущу сервер, он снова начнет работать, но затем произойдет сбой в той же предыдущей ситуации. Я попытался изменить IP с сервера, чтобы проверить, был ли заблокирован мой IP. Но это было не так. Я не получаю явную ошибку от API, только ошибку пустого объекта, поэтому я не могу понять, как решить проблему.

Вот ошибка:

 Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/amazon/api.py", line 174, in lookup
    response = self.api.ItemLookup(ResponseGroup=ResponseGroup, **kwargs)
  File "/usr/local/lib/python3.5/dist-packages/bottlenose/api.py", line 274, in __call__
    {'api_url': api_url, 'cache_url': cache_url})
  File "/usr/local/lib/python3.5/dist-packages/bottlenose/api.py", line 235, in _call_api
    return urllib2.urlopen(api_request, timeout=self.Timeout)
  File "/usr/lib/python3.5/urllib/request.py", line 163, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.5/urllib/request.py", line 466, in open
    response = self._open(req, data)
  File "/usr/lib/python3.5/urllib/request.py", line 484, in _open
    '_open', req)
  File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 1297, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "/usr/lib/python3.5/urllib/request.py", line 1254, in do_open
    h.request(req.get_method(), req.selector, req.data, headers)
  File "/usr/lib/python3.5/http/client.py", line 1107, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.5/http/client.py", line 1147, in _send_request
    self.putheader(hdr, value)
  File "/usr/lib/python3.5/http/client.py", line 1083, in putheader
    if _is_illegal_header_value(values[i]):
TypeError: expected string or bytes-like object
  

Большое спасибо!

Комментарии:

1. Вы пробовали редактировать файл client.py и получить трассировку, запущенную внутри прямо перед строкой 1083? Может быть, посмотреть, в каком формате этот заголовок вводится как?

2. Спасибо за ваше предложение, я постараюсь получить больше информации с помощью этого метода.