模拟提交表单post多个同名参数问题

liwan123 2020-03-17 12:02:17
def post(title, keyboard, writer, newstime, downurl_qz, downpath, softsay, msmallpic, mbigpic, newstext, catid):
query = "http://localhost/e/admin/jiekou.php?pw=123456"
data_form = {
"enews": "AddNews",
"classid": catid, # 栏目id
"bclassid": 0, # 父栏目id
"id": 0,
"filepass": int(time.time()), # 发布文章的时间戳
"username": "admin",
"oldfilename":"",
"oldgroupid":"",
"oldchecked": 1,
"newstext_url":"",
"ecmsfrom":'http://localhost/e/admin/ListNews.php?classid=3',
"fstb":"",
"oldttid":"",
"ecmsnfrom": 1,
"ecmscheck": 0,
"havetmpic": 0,
"title": title,
"keyboard": keyboard,
"softwriter": writer,
"softtype": "",
"downurl_qz": downurl_qz,
"downname[]": "下载地址1",
"downpath[]": downpath,
"softsay": softsay,

"msmallpic[]": msmallpic,
"mbigpic[]": mbigpic,
"newstext": newstext,
"dokey": 1,
"autosize": 5000,
"infotags": keyboard,
"newstime": newstime,
"checked": 1,
"isgood": 0,
"firsttitle": 0,
"writer": "admin",
"befrom": "",
"dokey": 1,
"copyimg": 1,
"autosize": 5000,
"istop": 0,
"newstempid": 0,
"groupid": 0,
"userfen": 0,
"onclick": 0,
"totaldown": 0,
"addnews": "提 交",
}
print(type(data_form))
data = urllib.parse.urlencode(data_form).encode(encoding='utf-8')
req = urllib.request.Request(query, data=data)
res = urllib.request.urlopen(req, timeout=10)
# result = res.read().decode('utf-8')
print("已发布成功")


看运行结果是打印成功了,但是看实际网站后台mbigpic的值只传递了个[符号。我传递的mbigpic值是一个list,包含多值,希望表单提交多个 mbigpic[]同名表单,每个表单值对应一个传递的 mbigpic值,不知道这种情况传递多个同名表单值改咋搞?头大了
...全文
526 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianfang 2020-03-17
  • 打赏
  • 举报
回复
表单是key-value传值,key,value 都是字符串。想传数组value,把数组值自己编码,如json,或者逗号分隔的字符串,变成一个value传送。 key-value 不允许key重复

37,743

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧