import requests url = 'http://letitbit.net' urlTo = 'http://letitbit.net/' payload = {'act':'login','login':'h1480276@rtrtr.com','password':'2DPEND9i3jvs'} headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0', 'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language' : 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding' : 'gzip, deflate', 'Connection' : 'keep-alive', } headers1 = {'content-type' : 'application/json', 'Host' : 'letitbit.net', 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0', 'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language' : 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding' : 'gzip, deflate', 'Connection' : 'keep-alive', 'Referer' : 'http://letitbit.net/', 'Content-Type' : 'application/x-www-form-urlencoded', } r = requests.get (url, headers=headers) b = requests.post (urlTo, allow_redirects=True, headers=headers1, data=payload) print b.status_code print b.headers print b.text print b.history #print r.content
import requests url = 'http://letitbit.net/' payload = {'act':'login','login':'h1480276@rtrtr.com','password':'2DPEND9i3jvs'} headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0', 'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language' : 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding' : 'gzip, deflate', 'Connection' : 'keep-alive', } s = requests.Session(headers=headers) b = s.post(url, allow_redirects=True, headers={'Referer': 'http://letitbit.net/'}, data=payload) ...
post = '{"name":name, "password":password, "passwordhash":"","autologin":false}'
SeganapaДа, если использовать объект Session.
Requests куки автоматом обрабатывает?
SeganapaЕсли речь конкретно о letitbit то JSON там ни к чему.
Если мне нужно в Post запросе передать данные в формате Json?
SeganapaНет, переменные в строке сами себя не заменят волшебным образом.
правильна ли будет такая запись?:
import json post = json.dumps({"name": name, "password": password, "passwordhash": "", "autologin": False})
post = '{"name":%s "password":%s, "passwordhash":"","autologin":false}' % (name, password)
SeganapaВот у меня вопрос: а это вообще валидный запрос? Я знаю только 2 типа поста: www/urlencoded и multipart.
Если мне нужно в Post запросе передать данные в формате Json? правильна ли будет такая запись?:
post = ‘{“name”:name, “password”:password, “passwordhash”:“”,“autologin”:false}’
SeganapaМожно, reclosedev показал как. Но не нужно.
Просто я в php привык так делать:
$post = ‘json={“name”:“’ . $name . ‘”,“password”:“’ . $password . ‘”,“passwordhash”:“”,“autologin”:false}’;
Жаль на питоне так нельзя…
odnochlen
Вот у меня вопрос: а это вообще валидный запрос? Я знаю только 2 типа поста: www/urlencoded и multipart.
import requests #import json headers = { 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0', 'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language' : 'ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3', 'Accept-Encoding' : 'gzip, deflate', 'Connection' : 'keep-alive' } url = 'http://ru.grepolis.com' urlTo_start_page = 'http://ru.grepolis.com/start/index?action=login_from_start_page' urlTo_start_page_next = 'http://ru.grepolis.com/start/index?action=fetch_news' urlTo_login_to_game = 'http://ru.grepolis.com/start?action=login_to_game_world' req = requests.Session(headers=headers) onestep = req.get(url) name = 'Tartang' password = '7TXzMQvUZt3qUqh' #post = json.dumps({"name": name, "password": password, "passwordhash": "", "autologin": False}) post = 'json={"name":%s, "password":%s, "passwordhash":"","autologin":false}' % (name, password) twostep = req.post(urlTo_start_page, data=post, allow_redirects=True, headers={'Referer': 'http://ru.grepolis.com/', 'X-Requested-With' : 'XMLHttpRequest', 'Pragma' : 'no-cache', 'Cache-Control' : 'no-cache' }) print twostep.text print twostep.cookies
json_arg = json.dumps({"name": name, "password": password, "passwordhash": "", "autologin": False}) twostep = req.post(urlTo_start_page, data={"json": json_arg}...