Невозможно использовать python запросов для загрузки fl ie на веб-странице. (можно получить по Chrome) - PullRequest
0 голосов
/ 20 января 2020

Я хочу загрузить XHR-файл с веб-сайта , который содержит историческую цену. Этот файл может быть доступен по Chrome (как показано на картинке ). Вот URL файла ссылка на файл (Если вы нажмете эту ссылку, веб-страница покажет, что файл не найден, потому что ваш браузер отправил запрос GET, а метод запроса файла - POST.) Но дело в том, возвращенный код состояния в Chrome равен 200, но когда я использую python для имитации почтового запроса, возвращаемый код состояния равен 500 (т.е. не может получить доступ).

Вот код:

import requests
header = { "origin": "https://markets.businessinsider.com",
           "referer": "https://markets.businessinsider.com/bond/historical/5_750-canada-government-of-bond-2029-ca135087wl43",
           "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.117 Safari/537.36",
           "sec-fetch-mode": "cors",
           "sec-fetch-site": "same-origin",
           "x-requested-with": "XMLHttpRequest"}
url = 'https://markets.businessinsider.com/Ajax/BondController_HistoricPriceList/canadacd-bonds_201921-bond-2021-ca135087j884/STU/20.12.2019_20.1.2020'
s = requests.Session()
s.headers.update(header)
print(s.post(url).status_code)

Вывод:

500

1 Ответ

0 голосов
/ 20 января 2020

Вам необходимо переписать свой вопрос и добавить дополнительную информацию. В Python вы можете сделать что-то вроде этого

import urllib.request
url = 'https://markets.businessinsider.com/bond/historical/canadacd-bonds_201921-bond-2021-ca135087j884'
with urllib.request.urlopen(url) as response:
   html = response.read()
print(html)

И с помощью запросов вы можете сделать

import requests as req
resp = req.get(url)
print(resp.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...