我一直在使用cURL成功地与基于Flash的网页交互来提取数据,但现在我试图使用网站的上传功能来提供文件。对于工作要求,我将分解使用Chrome开发人员工具所做的请求,并使用cURL重新创建它们。但是当我尝试文件上传时,我得到了一个JSON响应{“error”:“no file provided”}。cURL文件上传 - “没有文件提供”
从开发工具提取的代码格式不工作:
curl "<URL>" -H "Origin: <URL>" -H "Accept-Encoding: gzip, deflate" -H "Accept-Language: en-US,en;q=0.8" -H "User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36" -H "Content-Type: multipart/form-data; boundary=----pluploadboundary1454508647816" -H "Accept: */*" -H "Referer: <URL>" -H "X-Requested-With: ShockwaveFlash/20.0.0.286" -H "Connection: keep-alive" -H "DNT: 1" --data-binary "------pluploadboundary1454508647816"^"Content-Disposition: form-data; name=""name"""^"unblock_User.xls"^"------pluploadboundary1454508647816"^"Content-Disposition: form-data; name=""file""; filename=""unblock_User.xls"""^"Content-Type: application/vnd.ms-excel"^
我试图改变它使用标准--data二进制= @文件,其中包含@file的边界和原始该文件的二进制数据,无济于事。该文件的内容是:
------ pluploadboundary1453998534666
内容处置:形状数据;名称= “名称”
unblock_once.xlsx
------ pluploadboundary1453998534666
内容处置:形状数据; NAME = “文件”;文件名=“unblock_once.xlsx”
内容类型:应用程序/ vnd.ms - Excel中
原始数据会在这里通过“cat'ing二进制文件到本节中,我可以使用路径到文件在这里呢?
------ pluploadboundary1453998534666--