鱼C论坛

 找回密码
 立即注册
查看: 2429|回复: 24

[已解决]求助大佬,一个网页数据提交问题,貌似不是post?求指教

[复制链接]
发表于 2022-3-21 18:04:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
这是一个用于测试的超级表格的数据提交页面
https://www.chaojibiaoge.com/Form/i/sharekey/7ugvoaya
我准备写一个代码用于提交几十个数据,本来以为会很简单
结果审查元素发现好像不是post
一下子就蒙了
如果大神会做求指点,给个代码案例最好了,万分感谢!
最佳答案
2022-3-21 22:03:16
本帖最后由 cflying 于 2022-3-21 22:38 编辑

这里面最难的因该是上传图片了,上传图片的返回内容中就有图片文件名(加了随机码字符的)
得,帮你写了上传图片的代码(随手写的,里面with什么的、verify等其实也是多余的,那是抓包时加的,自己看着删就行),发个代码还要验证,发出来还要审核。。。传图片结果权限不够,我从52里传个图来。

代码中mcssuploadfile[image1]千万别删(其实改了也没啥,就是返回的代码中没有文件名而已,不改的话就有文件名,方便些),boundary别删哈,这玩意儿得和header对应,删了传不起不怪我哈
只要拿到了上传的文件名,其他参数你抓包后看着抄抄就行了,反正也简单

                               
登录/注册后可看大图
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-3-21 18:19:52 | 显示全部楼层
本帖最后由 python爱好者. 于 2022-3-21 18:20 编辑

表单:
69FF41~1.PNG
是这个吗?
69FF41~1.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 18:26:26 | 显示全部楼层

是 post 传入的呀:
E3215F~1.PNG
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-21 18:28:42 | 显示全部楼层
本帖最后由 qq1151985918 于 2022-3-21 18:30 编辑


大佬,我怎么审查元素没审查到?你怎么找到的,能帮忙写下例子吗,随便填哪个空都行,我真的没找到
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 18:39:17 | 显示全部楼层
qq1151985918 发表于 2022-3-21 18:28
大佬,我怎么审查元素没审查到?你怎么找到的,能帮忙写下例子吗,随便填哪个空都行,我真的没找到
import urllib.request

url = "https://www.chaojibiaoge.com/System/DealData/saveFormData"
data = """id: 
need_return_newid: true
tablename: oa_sheet
fieldvalues: SYS_ROWID<=>~|~d1<=>2022-03-21~|~a2<=>~|~a3<=>~|~a1<=>~|~d2<=>~|~d3<=>~|~c1<=>~|~a4<=>~|~c2<=>~|~c3<=>~|~c4<=>~|~c5<=>~|~sort<=>-69~|~SYS_EDITTIME<=>2022-03-21<KG>18:33:22~|~SYS_EDITUSER<=>~|~SYS_ADDTIME<=>2022-03-21<KG>18:33:22~|~SYS_ADDUSER<=>~|~SYS_ADDIP<=>~|~id<=>7qm81wlf~|~projectid<=>ktjwa29p~|~SYS_FORMATE<=>~|~parentid<=>~|~treeparentid<=>
modelid: oa_sheet
usermodel_recordid: ktjwa29p
user: ugk5btr2
sharekey: 7ugvoaya
type: front
fromUrl: https://www.chaojibiaoge.com/Form/i/sharekey/7ugvoaya
newid: 7qm81wlf"""
data = {each_line.split(": ")[0]:each_line.split(": ")[1] for each_line in data.split("\n")}
data = urllib.parse.urlencode(data).encode("utf8")
head = {"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46"}

seq = urllib.request.Request(url,data,head)
html = urllib.request.urlopen(seq).read().decode("utf8")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-21 18:46:51 | 显示全部楼层

感谢大佬,还有一个问题,就是最后边的图片文件是怎么提交的呢?能给个例子吗?以往都是open rb 这个怎么提交?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 19:01:12 | 显示全部楼层
qq1151985918 发表于 2022-3-21 18:46
感谢大佬,还有一个问题,就是最后边的图片文件是怎么提交的呢?能给个例子吗?以往都是open rb 这个怎么 ...
files = {"file": ("pic.jpg", open("pic.jpg", "rb"), "image/jpeg")}
res = requests.post(url, files = files) # 
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-21 19:03:10 | 显示全部楼层

大佬,这个也是open rb 提交吗?我刚看数据好像都在fieldvalues里,每两个竖线一个数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 19:06:00 | 显示全部楼层
qq1151985918 发表于 2022-3-21 19:03
大佬,这个也是open rb 提交吗?我刚看数据好像都在fieldvalues里,每两个竖线一个数据

啧,这个东西貌似是提交一个文件名?
没看见提交的数据里有二进制内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-21 19:12:50 | 显示全部楼层
qiuyouzhi 发表于 2022-3-21 19:06
啧,这个东西貌似是提交一个文件名?
没看见提交的数据里有二进制内容

所以还请大佬们帮忙研究一下,我水平不太够搞不太明白
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 19:28:19 | 显示全部楼层
qiuyouzhi 发表于 2022-3-21 19:06
啧,这个东西貌似是提交一个文件名?
没看见提交的数据里有二进制内容

我分别往里面提交了 4 个文件:WoW_0.txt,WoW_1.txt,WoW_2.txt,WoW_4.txt,没有 3 哦!
此时此刻,提交的表单是这样的:
fieldvalues: SYS_ROWID<=>~|~d1<=>2022-03-21~|~a2<=>~|~a3<=>~|~a1<=>~|~d2<=>~|~d3<=>~|~c1<=>~|~a4<=>~|~c2<=>WoW_0.txt~2022<XG>03<XG>WoW_0_PfwHUm[small].txt~|~c3<=>WoW_1.txt~2022<XG>03<XG>WoW_1_ugOxoZ[small].txt~|~c4<=>WoW_2.txt~2022<XG>03<XG>WoW_2_wrNfAJ[small].txt~|~c5<=>WoW_4.txt~2022<XG>03<XG>WoW_4_mdTUQL[small].txt~|~sort<=>-69~|~SYS_EDITTIME<=>2022-03-21<KG>18:58:25~|~SYS_EDITUSER<=>~|~SYS_ADDTIME<=>2022-03-21<KG>18:58:25~|~SYS_ADDUSER<=>~|~SYS_ADDIP<=>~|~id<=>7qr7rb3l~|~projectid<=>ktjwa29p~|~SYS_FORMATE<=>~|~parentid<=>~|~treeparentid<=>

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
qq1151985918 + 5 + 5 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 19:29:14 | 显示全部楼层
qq1151985918 发表于 2022-3-21 19:12
所以还请大佬们帮忙研究一下,我水平不太够搞不太明白

首先,你需要用我上面说的方法向这个网址提交一个图片:
https://www.chaojibiaoge.com/System/TableEdit/saveUploadedFile/istemp/false/modelid/undefined/fieldid/c3/recordid/null/projectid/ktjwa29p/sharekey/7ugvoaya
fieldid 后面的 c3 就是表格编号,提交其他图片改下它就行了
然后把这个字符串里对应的表格编号填上对应的值:
SYS_ROWID<=>~|~d1<=>2022-03-21~|~a2<=>~|~a3<=>~|~a1<=>~|~d2<=>~|~d3<=>~|~c1<=>~|~a4<=>~|~c2<=>~|~c3<=>~|~c4<=>~|~c5<=>~|~sort<=>-69~|~SYS_EDITTIME<=>2022-03-21<KG>19:14:24~|~SYS_EDITUSER<=>~|~SYS_ADDTIME<=>2022-03-21<KG>19:14:24~|~SYS_ADDUSER<=>~|~SYS_ADDIP<=>~|~id<=>7naewxg2~|~projectid<=>ktjwa29p~|~SYS_FORMATE<=>~|~parentid<=>~|~treeparentid<=>
举个例子:
比如你提交了 c3, 就把 c3 最后一个~ 之前填成这个样子:
~c3<=>1647860657(1).jpg~2022<XG>03<XG>1647860657(1)_hjgYcK[small].jpg~
这么写的原因我不太清楚,你可以多提交几次看看,[small]或许是因为我这个图片太小。
最后再 post 这个 url 应该就提交成功了。
https://www.chaojibiaoge.com/System/DealData/saveFormData
应该不需要提交什么内容。

评分

参与人数 1荣誉 +5 鱼币 +5 收起 理由
qq1151985918 + 5 + 5 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-21 19:40:48 | 显示全部楼层
qiuyouzhi 发表于 2022-3-21 19:29
首先,你需要用我上面说的方法向这个网址提交一个图片:

fieldid 后面的 c3 就是表格编号,提交其他图 ...

大佬,
~c3<=>1647860657(1).jpg~2022<XG>03<XG>1647860657(1)_hjgYcK[small].jpg~
这个是怎么获取来的?我也发现这个了,关键是 hjgYcK[small] 怎么获取的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 19:46:23 | 显示全部楼层
qq1151985918 发表于 2022-3-21 19:40
大佬,

这个是怎么获取来的?我也发现这个了,关键是 hjgYcK[small] 怎么获取的

这个貌似是随机的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-21 19:49:52 | 显示全部楼层
qiuyouzhi 发表于 2022-3-21 19:46
这个貌似是随机的

这不会是自己随机编一个就行吧,我看了post图片结果就返回了一个上传成功...而且附带图片是有链接的但是不知道怎么获取,知道怎么获取也就解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 19:51:13 | 显示全部楼层
qq1151985918 发表于 2022-3-21 19:49
这不会是自己随机编一个就行吧,我看了post图片结果就返回了一个上传成功...而且附带图片是有链接的但是 ...

你可以先试试自己编一个,可以的话就证明这是随机的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-21 19:54:19 | 显示全部楼层
qiuyouzhi 发表于 2022-3-21 19:51
你可以先试试自己编一个,可以的话就证明这是随机的


肯定不行,你看
https://oss.chaojibiaoge.com/uploadfile/2022/03/001_DHJXIV[small].png
上传之后是有一个图片链接,这个名字应该要跟这个链接对应一致才对,要不然提交的数据没有上传二进制,而上传了二进制的名字又对应不起来怎么可能找到对应的文件呢
只是我一直找不到这个链接怎么返回的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 20:05:02 | 显示全部楼层
qq1151985918 发表于 2022-3-21 19:54
肯定不行,你看
上传之后是有一个图片链接,这个名字应该要跟这个链接对应一致才对,要不然提交的数 ...

刚才研究了下,可以用 XPath 把它找出来:
//div[@class="fields-container"]/div/div[@fieldid="c2"]/div[2]/div/a/@imgpath
不同表格改下 fieldid 就好
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-3-21 20:15:09 | 显示全部楼层
qiuyouzhi 发表于 2022-3-21 20:05
刚才研究了下,可以用 XPath 把它找出来:

不同表格改下 fieldid 就好

大佬,是对哪个页面xpath?好人做到底吧,我没找出来,给个代码可好,万分感谢!上传图片并获取链接的代码就好...感谢感谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-3-21 20:46:14 | 显示全部楼层
qq1151985918 发表于 2022-3-21 20:15
大佬,是对哪个页面xpath?好人做到底吧,我没找出来,给个代码可好,万分感谢!上传图片并获取链接的代 ...

就是对原来的页面
https://www.chaojibiaoge.com/Form/i/sharekey/7ugvoaya
刚才研究半天,requests.get 获得的源码和浏览器里的不一样
https://www.zhihu.com/question/416500458/answer/1650248084
或许这个能帮到你
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 00:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表