![]() | 1 slixurd 2017-12-17 23:46:11 +08:00 就是 multipart 而已,最简单的方式就是照抄..... 记得标记一下 7e11614f10de 这个字符串是 multipart 分隔符 |
2 Nioty 2017-12-18 00:27:59 +08:00 via Android 直接用 request_toolkit 这个库 好像是这个名字 你去搜搜 |
![]() | 3 Kilerd 2017-12-18 00:36:24 +08:00 说了多少次。 找资料用 google python 爬虫起码用 requests,不要用 urllib 了 简直要命啊,你们 |
![]() | 4 swordspoet 2017-12-18 00:41:28 +08:00 via iPhone @Kilerd 啊?我今天还用的 urllib,踩了好多个坑,难道跟库有关系? |
![]() | 5 just1 2017-12-18 02:35:55 +08:00 via Android 同#3,完全不懂的新手还是老老实实用 requests 吧,用 urllib 真的要命 |
![]() | 6 jtsai 2017-12-18 06:59:57 +08:00 via Android 上传文件,就自动转这种 |
![]() | 7 goofool 2017-12-18 08:43:10 +08:00 via Android 用 postman,可以自动给你转成 python 源码 |
8 jko123 2017-12-18 09:07:59 +08:00 via Android 用 requests |
![]() | 9 akiakiseofficial 2017-12-18 09:52:03 +08:00 via Android 为什么不先自己试试再来发帖呢? |
10 vicvinc 2017-12-18 12:03:45 +08:00 form data append 前端这么做的,python 应该也有 form data 的生成库吧 |
![]() | 11 olaloong OP 感谢各位大佬的指点,问题解决了,附上我的代码: def modTEST(): url = 'http://192.168.1.1/cgi-bin/luci/admin/network/network/TEST' data = {'token':(None,getToken()), 'cbi.submit':(None,'1'), 'tab.network.TEST':(None,'advanced'), 'cbid.network.TEST._fwzone':(None,'-'), 'cbid.network.TEST._fwzone.newzone':(None,''), 'cbi.cbe.network.TEST.type':(None,'1'), 'cbi.cbe.network.TEST.ifname_single':(None,'1'), 'cbid.network.TEST.ifname_single':(None,'eth0.3'), 'cbid.network.TEST.proto':(None,'dhcp'), 'cbid.network.TEST.hostname':(None,''), 'cbi.cbe.network.TEST.auto':(None,'1'), 'cbi.cbe.network.TEST.delegate':(None,'1'), 'cbid.network.TEST.delegate':(None,'1'), 'cbi.cbe.network.TEST.broadcast':(None,'1'), 'cbi.cbe.network.TEST.defaultroute':(None,'1'), 'cbid.network.TEST.defaultroute':(None,'1'), 'cbi.cbe.network.TEST.peerdns':(None,'1'), 'cbid.network.TEST.peerdns':(None,'1'), 'cbid.network.TEST.metric':(None,''), 'cbid.network.TEST.clientid':(None,''), 'cbid.network.TEST.vendorid':(None,''), 'cbid.network.TEST.macaddr':(None,'00:e0:4c:36:11:a1'), 'cbid.network.TEST.mtu':(None,''), 'cbi.apply':(None,'保存&应用')} print(data) res = requests.post(url, files=data, cookies={'sysauth': cookiesValue}) print(res.request.body) print(res.request.headers) res.encoding = 'utf8' print(res.text) restartFireWall() return |