Форум сайта python.su
0
import requests s = requests.Session() s.auth = ('manager', 'pass') s.headers.update({'x-test': 'true'}) s.headers.update({ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0'}) formData = { "address": "Город,ул. Миргородская д.39-а, кв.8", "comment": "", "coupon_discount": "0.00", "delivery_id": "3", "delivery_price": "0.00", "discount": "0.00", "email": "", "id": "99153", "nalozhka": "1", "name": "Алла ", "note": "наложка(И) + Отправка 07,09", "np_city": "Марин", "np_warehouse": "Отделение №2 (до 30 кг): ул. Пирсовая, 2а", "order_option": "nalozhka", "payment_method_id": "5", "phone": "38099хххххххх", "purchases[amount][127654]": "1", "purchases[id][127654]": "127654", "purchases[price][127654]": "260.00", "purchases[variant_id][127654]": "26419", "related": "", "separate_delivery": "1", "session_id": "hov62ku9iolsrmcv7mhhri8fj6", "status": "2", "ttn": "2ХХХХХХХХХХХХ4", "user_id": "" } url0 = 'здесь адрес входа в админку' url='здесь адрес заказа в админке' s.get(url0,headers=s.headers) s.post(url,data=data,headers=s.headers,files=formData)
Отредактировано Tseka (Сен. 7, 2017 18:28:07)
Офлайн
6
Ты это не пробовал иначе заметил бы лишнее data=data
Ты вот жёстко прописал всё, а ничего если в новой сессии будет и новый “session_id”?
Сначала грузи эту страницу отдельным запросом. Вытаскивай “session_id”, а лучше все поля сразу. Меняй нужное и отправляй назад.
Попробуй отправить как указано в http://python.su/forum/post/183433/
Отредактировано Vintets (Сен. 7, 2017 18:40:31)
Офлайн
0
VintetsПробую на ноуте через тиамвьювер на Андроиде , а отписываюсь со смартфона , так как вышел из офиса.
Ты это не пробовал иначе заметил бы лишнее data=data
Отредактировано Tseka (Сен. 7, 2017 18:46:54)
Офлайн
2
Должно быть как-то так.
import requests s = requests.Session() s.auth = ('manager', 'pass') s.headers.update({'x-test': 'true'}) s.headers.update({ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0'}) data = {'status':'2' } url0 = 'здесь адрес входа в админку' #авторизуемся otvet = s.get(url0,headers=s.headers) #забираем из ответа #id и session_id files = { 'id': ('', 99153), 'session_id': ('', 'rho48g04hq58qot9ir5j13h711'), 'status': ('', 2) } #генерируем адрес для post запроса url='http://ххххххххххххххххххххххххх/index.php?module=OrderAdmin&page=2&id=' + id r=s.post(url,data=files,headers=s.headers)
Отредактировано keodomir (Сен. 7, 2017 20:19:32)
Офлайн
0
import requests from bs4 import BeautifulSoup s = requests.Session() s.auth = ('manager', 'ПАРОЛЬ') s.headers.update({'x-test': 'true'}) s.headers.update({ 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0'}) url0 = 'http://АДРЕС САЙТА АДМИНКИ/' url='http://АДРЕС САЙТА АДМИНКИ ЗАКАЗА' s.get(url0,headers=s.headers) #авторизуемся. html=s.get(url,headers=s.headers) #переходим авторизированные на страничку с заказом. soup = BeautifulSoup(html.text, 'html.parser') #парсим id и session_id , больше ничего не надо. sesid=soup.findAll('input')[0]['value'] id_=soup.findAll('input')[1]['value'] files = { 'id': ('', id_), 'session_id': ('', sesid), #подставляем спарсиные значения. 'status': ('', 2) } s.post(url=url,data=files,headers=s.headers) #post запрос посылаем
Отредактировано Tseka (Сен. 7, 2017 22:08:32)
Офлайн
0
PYTHON - Сила !!!
Офлайн
0
Всё-таки необходимо спарсить все эти
formData = { "address": "Город,ул. Миргородская д.39-а, кв.8", "comment": "", "coupon_discount": "0.00", "delivery_id": "3", "delivery_price": "0.00", "discount": "0.00", "email": "", "id": "99153", "nalozhka": "1", "name": "Алла ", "note": "наложка(И) + Отправка 07,09", "np_city": "Марин", "np_warehouse": "Отделение №2 (до 30 кг): ул. Пирсовая, 2а", "order_option": "nalozhka", "payment_method_id": "5", "phone": "38099хххххххх", "purchases[amount][127654]": "1", "purchases[id][127654]": "127654", "purchases[price][127654]": "260.00", "purchases[variant_id][127654]": "26419", "related": "", "separate_delivery": "1", "session_id": "hov62ku9iolsrmcv7mhhri8fj6", "status": "2", "ttn": "2ХХХХХХХХХХХХ4", "user_id": "" }
Отредактировано Tseka (Сен. 8, 2017 01:42:43)
Офлайн
6
Ну это уже реализация на сервере. У меня не стирается. Обновляются только поля которые существуют в запросе.
Офлайн