开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 751|回复: 8
收起左侧

[完成] 精易模块里的网页访问请求头和python里的headers有什么区别

 关闭 [复制链接]
结帖率:66% (21/32)
发表于 2024-1-22 15:41:01 | 显示全部楼层 |阅读模式   江西省赣州市
5精币
精易模块里的网页_访问里的附加协议是文本型的,
Python requests模块里的headers是字典型的,python有没有办法像精易模块一样提交文本型的请求头?

我在易语言用精易模块模拟请求实现了的功能,我用python去写,访问是没问题的,但是响应的内容和易语言的不同,python请求服务器响应的内容是“Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadException: Stream ended unexpectedly”
我猜测是不是 python的headers的问题

最佳答案

查看完整内容

你这是上传文件抛出的异常,我感觉不是协议头问题,应该是提交请求体的问吧,顺便协议头你可用类_POST数据类来写,就和python字典是一样的写法
结帖率:66% (21/32)
 楼主| 发表于 2024-1-23 12:07:17 | 显示全部楼层   江西省赣州市
【已解决】确实不是请求头的问题,是请求体;请求过程是提交multipart/form-data 上传文件, ,提交的是字典型数据,不能像网页_访问()里一样提交文本型方式去写python,
【解决过程】
fiddler抓取内容如下

QQ截图20240123120127.jpg

易语言实现过程如下:
QQ截图20240123120407.jpg
QQ截图20240123120504.jpg
python实现过程如下:
[Python] 纯文本查看 复制代码
headers = {
        "token": KjzUserInfo1.token
    }
    reqBody = reqBody + '------' + CTVALUE + '--\n'
    reqBody = {
        "pid":(None,'0000'),
        "type":(None,'7'),
        "resNameOrTagName":(None,res_id),
        "page":(None,'1'),
        "pageSize":(None,'30'),
        "library":(None,'0')
    }
    res = requests.post(url, files=reqBody, headers=headers)


回复

使用道具 举报

签到天数: 24 天

发表于 2024-1-22 15:41:02 | 显示全部楼层   浙江省杭州市
你这是上传文件抛出的异常,我感觉不是协议头问题,应该是提交请求体的问吧,顺便协议头你可用类_POST数据类来写,就和python字典是一样的写法

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

结帖率:66% (21/32)
 楼主| 发表于 2024-1-22 16:01:33 | 显示全部楼层   江西省赣州市
black0216 发表于 2024-1-22 15:48
你这是上传文件抛出的异常,我感觉不是协议头问题,应该是提交请求体的问吧,顺便协议头你可用类_POST数据 ...

精易模块里的类_POST数据类填写到 网页_访问()里,还是得转成文本型数据提交呀
回复

使用道具 举报

签到天数: 24 天

发表于 2024-1-22 16:06:44 | 显示全部楼层   浙江省杭州市
静候旧时光 发表于 2024-1-22 16:01
精易模块里的类_POST数据类填写到 网页_访问()里,还是得转成文本型数据提交呀 ...

协议头本来就是文本型啊,你搞清楚这点

补充内容 (2024-1-22 16:10):
我都不清楚你到底要问啥了,请求头文本型没错,你上传文件的请求体肯定得是提交字节集的。
回复

使用道具 举报

签到天数: 24 天

发表于 2024-1-22 16:14:34 | 显示全部楼层   浙江省杭州市
哦哦,看错命题了,你是想知道py请求头咋写。
其实协议头他就是key value结构得。你看你易语言文本型请求头也是kv结构,照这样子写就是了。
py.jpg
回复

使用道具 举报

发表于 2024-1-22 18:25:39 | 显示全部楼层   河南省信阳市
213421421123432141
回复

使用道具 举报

签到天数: 3 天

发表于 2024-1-22 22:51:03 | 显示全部楼层   黑龙江省哈尔滨市
建议 两个都挂代理 看发包内容对比

补充内容 (2024-1-22 22:51):
挂抓包软件的代理 FD什么的
回复

使用道具 举报

结帖率:66% (21/32)
 楼主| 发表于 2024-1-23 12:09:31 | 显示全部楼层   江西省赣州市
black0216 发表于 2024-1-22 16:06
协议头本来就是文本型啊,你搞清楚这点

补充内容 (2024-1-22 16:10):

你说的对,确实不是请求头问题,我在python里一直用requests.post(url,data=data,headers=headers)提交数据,应该用files=data提交
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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