POST有这样的表格
type_list: Подавшие заявления
list_abitur: Бюджетная основа
faculty: Физический факультет
list_direction: 67
show_list: true
URL编码:
type_list: %D0%9F%D0%BE%D0%B4%D0%B0%D0%B2%D1%88%D0%B8%D0%B5+%D0%B7%D0%B0%D1%8F%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F
list_abitur: %D0%91%D1%8E%D0%B4%D0%B6%D0%B5%D1%82%D0%BD%D0%B0%D1%8F+%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B0
faculty: %D0%A4%D0%B8%D0%B7%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9+%D1%84%D0%B0%D0%BA%D1%83%D0%BB%D1%8C%D1%82%D0%B5%D1%82
list_direction: 67
show_list: true
import requests
import urllib
#Неработающие варианты
#Вариант 1
s = {"type_list":"Подавшие заявление","list_abitur":"Бюджетная основа", "faculty":"Физический факультет","list_direction":'67', "show_list":'true'}
req = requests.post('https://education.nsu.ru/abitura/',data=s)
print(req.text)
#Выводит null
#Вариант 2
req = requests.post('https://education.nsu.ru/abitura/',data={"type_list":urllib.parse.quote_plus("Подавшие заявление"),"list_abitur":urllib.parse.quote_plus("Бюджетная основа"), "faculty":urllib.parse.quote_plus("Физический факультет"),"list_direction":"67", "show_list":'true'})
print(req.text)
#Выводит null
这样问
data可不好。最好不要将后期数据指定为string,而是指定为dict。并且不要立即插入
URL encoded文本,而是在代码中对其进行编码。并且以一种好的方式,通过 发送请求也更好urlib,但是因为 我自己用的不多——我给你看一堆requests + urlib.parse