Получаю ошибку 403 в requests

daradan

Новичок
Пользователь
Май 18, 2020
7
0
1
Здравствуйте!
Подскажите как побороть?
Имеется ссылка https://webapi[.]computeruniverse[.]net/api/catalog/topmenu/?lang=1&cachecountry=KZ
которая без проблем открывается через браузер и получается ответ в виде json.
Однако не получается эти данные получить через requests и постаянно status.code = 403 и в виде текста получаю следующий html
image_2022-12-17_233240460.png

Мой код
Python:
import requests


params = {
'lang': '1',
'cachecountry': 'KZ',
}

response = requests.get('https://webapi.computeruniverse.net/api/catalog/topmenu/', params=params)
print(response.status_code)
Пробовал подставлять свой хедерс и куки, все равно выкидывает 403 :(
Python:
import requests



cookies = {
    '_ALGOLIA': 'xxx',
    'wtstp_sid': 'xxx',
    'wtstp_eid': 'xxx',
    '_dy_c_exps': '',
    '_dy_c_att_exps': '',
    '_dycnst': 'xxx',
    '_dyid': 'xxx',
    '.Nop.Customer': 'xxx',
    'dy_fs_page': 'www.computeruniverse.net%2Fen%2Fc%2Flaptops-tablet-pcs-pcs%2Flaptops-notebooks',
    '_dy_geo': 'KZ',
    '_dy_df_geo': 'Kazakhstan',
    '_dy_toffset': '0',
    '_dyid_server': 'xxx',
    '_dycst': 'xxx.',
    '__cf_bm': 'xxx',
    'cu-edge-hints': xxx',
    '_dy_soct': 'xxx',
}


headers = {
    'authority': 'www.computeruniverse.net',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
    'accept-language': 'en-US,en;q=0.9',
    'cache-control': 'max-age=0',
    'if-modified-since': 'Sat, 17 Dec 2022 03:23:59 GMT',
    'sec-ch-ua': '"Opera";v="93", "Not/A)Brand";v="8", "Chromium";v="107"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Linux"',
    'sec-fetch-dest': 'document',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-user': '?1',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 OPR/93.0.0.0',
}

params = {
'lang': '1',
'cachecountry': 'KZ',
}


response = requests.get('https://webapi.computeruniverse.net/api/catalog/topmenu/', params=params, cookies=cookies, headers=headers)
print(response.status_code)
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
423
115
43
Если взять стандартный реквест, то вроде работает


Python:
import urllib.request

headers = {
    'authority': 'www.computeruniverse.net',
    'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,'
              'application/signed-exchange;v=b3;q=0.9',
    'accept-language': 'en-US,en;q=0.9',
    'cache-control': 'max-age=0',
    'if-modified-since': 'Sat, 17 Dec 2022 03:23:59 GMT',
    'sec-ch-ua': '"Opera";v="93", "Not/A)Brand";v="8", "Chromium";v="107"',
    'sec-ch-ua-mobile': '?0',
    'sec-ch-ua-platform': '"Linux"',
    'sec-fetch-dest': 'document',
    'sec-fetch-mode': 'navigate',
    'sec-fetch-site': 'same-origin',
    'sec-fetch-user': '?1',
    'upgrade-insecure-requests': '1',
    'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 '
                  'Safari/537.36 OPR/93.0.0.0',
}

params = {
    'lang': '1',
    'cachecountry': 'KZ',
}

req = urllib.request.Request('https://webapi.computeruniverse.net/api/catalog/topmenu/', headers=headers)
response = urllib.request.urlopen(req)
print(response.read())
 
  • Мне нравится
Реакции: daradan

daradan

Новичок
Пользователь
Май 18, 2020
7
0
1
Спасибо большое! Заработало!
 

Форум IT Специалистов