Форум сайта python.su
0
Всем доброго дня!
Гуру подскажите пожалуйста, как отправить post запрос.
Например:
<form enctype="multipart/form-data" method="post" id="adinfo-node-form" action="/node/17003/edit?destination=user_mats%3Fpage%3D0"> <input type="hidden" name="field_image[ru][0][fid]" value="0"> </form>
date = {
field_image[ru][0][fid]: '0'
}
SESSION = requests.Session() header = { 'Upgrade-Insecure-Requests': '1', 'Origin': URL, 'Referer': link[0], 'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'Content-Type': 'multipart/form-data', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36 OPR/67.0.3575.137' } html = SESSION.get(URL, params={'page': page}) #спарсил.. date = { field_image[ru][0][fid]: '0' } SESSION.post(link[0], headers=header, data=date )
Отредактировано FishHook (Май 15, 2020 15:14:08)
Офлайн
568
Мне думается должно быть как-то так
date = { 'field_image[ru][0][fid]': '0' }
Офлайн
0
Проверил, так и есть
[code python]
dtd = {
'title': 'Скупаем кабеля провода с хранения ,монтажа из неликвидов',
'changed': '1589534958',
'form_build_id': 'form-pZgQlSC9yxktyLVcEeq5b_xj34q6Z-L-nd18sMmslaU',
'form_token': 'BW_vq9p7KwuFZGq_pWmx4fBeKa-HCddKhnB38vYYUIA',
'form_id': 'adinfo_node_form',
'field_cat_adinfo[ru]': '3',
'field_cat_tov[ru][10]': '10',
'files[field_image_ru_0]': '',
'field_image[ru][0][fid]': '0',
'field_image[ru][0][display]': '1',
'field_firm[ru][0][value]': '',
'field_city[ru][0][value]': 'Челябинск',
'field_phone[ru][0][value]': '',
'field_contact[ru][0][value]': '',
'field_email[ru][0][value]': '',
'field_icq[ru][0][value]': '',
'additional_settings__active_tab': '',
'field_textad[ru][0][value]': 'test',
'field_rosregion[und]': '222',
'op': 'Сохранить'
}
[/code]
Офлайн
0
браузер выдает (network):
title: Скупаем кабеля провода с хранения ,монтажа из неликвидов
changed: 1589484138
form_build_id: form-EOgSk2of8ZhGL9jErsVFXjxeEHCuER0K5VcQ0AGgqWo
form_token: 5bxkagGqx4-7Q3BUJ74LNsUuibs3qZjRuiCznaRAAmg
form_id: adinfo_node_form
field_cat_adinfo: 3
field_cat_tov: 10
files: (binary)
field_image: 0
field_image: 1
field_textad: test
field_firm:
field_city: Челябинск
field_phone:
field_contact:
field_email:
field_icq:
field_rosregion: 222
additional_settings__active_tab:
op: Сохранить
при нажатии на “сохранить”
Отредактировано art7developer (Май 15, 2020 15:24:43)
Офлайн
0
changed, form_build_id, form_token - парсю динамически
Офлайн
0
!
Отредактировано art7developer (Май 18, 2020 08:31:04)
Офлайн
0
Ребятушки, помогите.
Отредактировано art7developer (Май 16, 2020 05:58:14)
Офлайн
857
art7developerНе работает что?
Кто подскажет почему не работает?
art7developerЕсли нужно отправить именно в таком виде
Отправить post запрос через requests с полями типаname=fiels[id][user]
data = { 'name': 'fiels[id][user]' }
Отредактировано py.user.next (Май 16, 2020 02:42:54)
Офлайн
0
А как тогда передать value?
Офлайн
857
art7developerОткрой консоль браузера, там вкладка “Сеть”. И вот когда отправляешь форму, там будет показано, как она отправляется, какие поля куда ставятся и какие у них значения. Никаких странностей и запутанностей нет ни в языке разметки HTML, ни в протоколе передачи данных HTTP. Однако если ты не знаешь ни того, ни другого, и даже не понимаешь разницы между HTML и HTTP, и не понимаешь, что это две разные вещи, которые по-разному работают, то, естественно, тебе будет казаться, что с сайтом что-то не то или код на питоне написан неправильно.
А как тогда передать value?
Отредактировано py.user.next (Май 16, 2020 06:32:15)
Офлайн