Python 3, вводящий в заблуждение метод - PullRequest
0 голосов
/ 23 ноября 2018

Вот два примера, которые демонстрируют успешные запросы POST.Но я не могу реплицировать это автономно.

Example1

визуально требуется: data = {'SearchTxt': 'bla'}

фактически требуется: данные= {'page': 'search', 'SearchTxt': 'bla'}

import requests
session = requests.Session()
a = session.head('https://www.axemusic.com')
session.cookies['Lm722stores'] = None
session.cookies.set('Lm722stores', '5h5i1rm6q3ur4mg67rs7kb77p4', domain='.axemusic.com', path='/')
response = session.post('https://www.axemusic.com/', data={'page':'search', 'SearchTxt':'bla'})
if response.text.find('Search results for bla') != -1: print('found')
else: print('not found')

Example2

визуально требуется: https://stackoverflow.com data = {'q':'bla'}

фактически требуется: https://stackoverflow.com/search data = {'q': 'bla'}

import requests
session = requests.Session()
a = session.head('https://stackoverflow.com')
session.cookies['prov'] = None
session.cookies.set('prov', '2922137c-e851-cd7e-8df4-9e5eb968ab33', domain='.stackoverflow.com', path='/')
response = session.post('https://stackoverflow.com/search', data={'q':'bla'})
if response.text.find('highlight">bla</span>') != -1: print('found')
else: print('not found')

Есть ли способсделать этот процесс более автономным.Я бы предпочел не проверять каждый вход в браузере вручную, а вручную и проверять вывод GET, прежде чем узнавать, что на самом деле требуется requests для выполнения POST.

1 Ответ

0 голосов
/ 23 ноября 2018

Я бы предпочел не проверять каждый вход в браузере вручную, а вручную и проверять вывод GET, прежде чем узнавать, что на самом деле требует запрос для выполнения POST

Да,чтение документации для публичных API.Например, https://api.stackexchange.com/docs

Для непубличных API, таких как axemusic, вы по своему усмотрению.Это все равно что спросить "как пекарю нравятся его яйца?"Понятия не имею ?

...