• Почему не работает (раньше работало)?

    print(wcapi.get('products', params={'per_page':100}).json())

    выдает ошибку:

    Traceback (most recent call last):
      File "D:\PyPrg\WooCommerce.py", line 746, in <module>
        change_status()
      File "D:\PyPrg\WooCommerce.py", line 734, in change_status
        print(wcapi.get('products/375208', params={'per_page':100}).json())
      File "D:\Prg\HelloDjango\venv\lib\site-packages\requests\models.py", line 910, in json
        return complexjson.loads(self.text, **kwargs)
      File "\AppData\Local\Programs\Python\Python39\lib\json\__init__.py", line 346, in loads
        return _default_decoder.decode(s)
      File "\AppData\Local\Programs\Python\Python39\lib\json\decoder.py", line 337, in decode
        obj, end = self.raw_decode(s, idx=_w(s, 0).end())
      File "\AppData\Local\Programs\Python\Python39\lib\json\decoder.py", line 355, in raw_decode
        raise JSONDecodeError("Expecting value", s, err.value) from None
    json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
    

    При этом выдает 200:

    print(wcapi.get("products").status_code)
    print(wcapi.get("products").text):
    выдает:
    <html><head><script>function set_cookie(){var now = new Date();var time = now.getTime();time += 19360000 * 1000;now.setTime(time);document.cookie='beget=begetok'+'; expires='+now.toGMTString()+'; path=/';}set_cookie();locat
    ion.reload();;</script></head><body></body></html>

    При этом в веб браузере ссылка сформированная wcapi.get(«products»).url выдается то что надо в виде json.

    • Тема изменена 1 год, 6 месяцев назад пользователем Павел Ефимов.
Просмотр 1 ответа (всего 1)
  • В результате выяснилось, что провайдер веб-сайта поставил защиту-заглушку, которая требует файлов cookie (видно в ответе «document.cookie=’beget=begetok’+’;». Поэтому, это нормально работало в веб-браузере, но не работало через скрипт.

Просмотр 1 ответа (всего 1)
  • Тема «Python ошибка Woocommerce API» закрыта для новых ответов.