|
5精币
初次用易语言POST上传文件时遇到一个问题如下:提交地址:http://162.server.webcamcn.com:3 ... p?c=webftp&a=upsave协议头: - Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 - Accept-Encoding:
gzip, deflate - Accept-Language:
zh-CN,zh;q=0.8 - Cache-Control:
max-age=0 - Connection:
keep-alive - Content-Length:
8977820 - Content-Type:
multipart/form-data; boundary=----WebKitFormBoundaryhCazcUfUMYcnoxHY - Cookie:
PHPSESSID=is8pinf2jgfrvo3ca80gm1utv1 - Host:
162.server.webcamcn.com:3312 - Origin:
http://162.server.webcamcn.com:3312 - Referer:
http://162.server.webcamcn.com:3312/vhost/index.php?c=webftp&a=getfile&dir=16384&file=/wwwroot/Register - User-Agent:
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36
Payload - ------WebKitFormBoundaryhCazcUfUMYcnoxHYContent-Disposition: form-data; name="myfile"; filename="易语言 Sublime+雅黑.zip"Content-Type: application/octet-stream------WebKitFormBoundaryhCazcUfUMYcnoxHY--
按照封包格式,替换Cookies,替换Content-Length,替换filename值,
在 Content-Type: application/octet-stream 与 ------WebKitFormBoundaryhCazcUfUMYcnoxHY-- 之间读入文件数据
提交上传返回
以下为源码:
变量名 | 类 型 | 静态 | 数组 | 备 注 | 局_数据 | 字节集 | | | 局_WebText | 文本型 | | |
局_数据 = 到字节集 (文本_替换 ( #网眼_数据头, , , 真, “{name}”, “myfile”, “{filename}”, 文件_取文件名 (参_文件名, 假)) ) + 读入文件 (参_文件名 ) + 到字节集 ( #网眼_数据尾 )局_WebText = 编码_Utf8到Ansi (网页_访问 (“http://162.server.webcamcn.com:3312/vhost/index.php?c=webftp&a=upsave”, 1, , Cookies_网眼, , 文本_替换 ( #网眼_协议头, , , 真, “{Length}”, 到文本 (取文件尺寸 (参_文件名 )), “{Cookie}”, Cookies_网眼 ), , , 局_数据 )) 置剪辑板文本 (局_WebText )
|
最佳答案
查看完整内容
其中一个很明显的错误,就是协议头的Content-Length:,这不是上传文件的字节集长度,是上传数据的字节集长度。其实,网页_访问这个命令,本身就带有自动添加Content-Length:的,所以没必要自己计算。直接删了。还有再检查下协议头,很多都不需要的。
|