Форум сайта python.su
Нужна помощь. Цель - получить через прогу сигну (обработанную картинку) с сайта http://shkuragaming.ru/signa . С помощью Charles выяснил, что при нажатии кнопки на сайте “сделать сигну”, на сервер отправляется POST пакет с данными “text1=txt1&text2=txt2”, где txt1 и txt2 - данные, которые мы ввели. После нажатия, открывается страница с готовой сигной.
Но программа выдает первоначальную страницу, то есть без готовой сигны. В чем может быть проблема? Буду очень благодарен!
Вот мой код:
# -*- coding: utf-8 -*-
import requests
with requests.Session() as c:
c.post(url='http://shkuragaming.ru/signa', data="text1=Kjk&text2=Rtr")
final = c.get('http://shkuragaming.ru/signa')
print(final.content)
Офлайн
Тут socket надо использовать а не requests
Офлайн
А где в документации к requests сказано, что можно так как вы передавать параметры POST-запросу.
В общем, до рабочего состояния, минимальные изменения - следующие:
import requests with requests.Session() as c: final=c.post(url='http://shkuragaming.ru/signa', data={'text1':'Kjk','text2':"Rtr"}) print(final.content)
Офлайн
python335
какой нахрен сокет? Вы о чем вообще думаете? Там HTTP запросы обычные.
danis19
Вы, как мне кажется, не понимаете что делаете - вы создаете сессию, делаете ПОСТ запрос, делаете следом ГЕТ запрос и в результатах последнего что то пытаетесь найти. Все эти действия и в таком порядке лишены смысла.
Ошибку Вам уже указалscidam Нужно документацию читать используемого инструмента.
Офлайн
import requests import re class GetSigna: def __init__(self, Name1, Name2): response = requests.post('http://shkuragaming.ru/signa', data={'text1': Name1, 'text2': Name2}) print(re.findall(r'http://shkuragaming.ru/signas/signs/\d+.\w+', response.text)[0]) A = GetSigna('hop', 'lalala')
Отредактировано DesSolo (Дек. 22, 2016 15:46:04)
Офлайн