Найти - Пользователи
Полная версия: Как выполнить задачу? (requests)
Начало » Python для экспертов » Как выполнить задачу? (requests)
1
danis19
Нужна помощь. Цель - получить через прогу сигну (обработанную картинку) с сайта 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)
python335
Тут socket надо использовать а не requests
scidam
А где в документации к 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)
Далее, можно вытащить путь картинки сгенерированной, например, BeatifulSoup`ом, или здесь – в данном конкретном случае – можно и регулярное выражение подходящее придумать (хотя регулярками не парсят html).
JOHN_16
python335
какой нахрен сокет? Вы о чем вообще думаете? Там HTTP запросы обычные.
danis19
Вы, как мне кажется, не понимаете что делаете - вы создаете сессию, делаете ПОСТ запрос, делаете следом ГЕТ запрос и в результатах последнего что то пытаетесь найти. Все эти действия и в таком порядке лишены смысла.
Ошибку Вам уже указалscidam Нужно документацию читать используемого инструмента.
DesSolo
 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')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB