如何在美味的汤或机械汤中传递文件名以及如何处理ASP.NET类型的表单数据

2024-10-02 20:41:20 发布

您现在位置:Python中文网/ 问答频道 /正文

 Content-Disposition: form-data; name="__VIEWSTATEGENERATOR"

 CA087320
Content-Disposition: form-data; name="ctl00$articleContentHolder$FindFile"; 
filename="20191025_discovery.csv"
Content-Type: application/octet-stream

参数就是这样的。它是一个多部分/表单数据,我可以传递除文件以外的所有内容。我检查了它是否适用于我上载的带有路径位置的本地文件,但不适用于我从其他地方获取的文件

这是我目前处理数据的代码

for f in files:
log.info("Adding file '{}'".format(f[0] if isinstance(f, tuple) else f))
data = {
    'ctl00$articleContentHolder$FindFile': f,
     #this is the problem part right above and causing my code to crash and if i get a local 
     #file it works which explains everything else is working.
    '__EVENTTARGET': 'ctl00$articleContentHolder$btnAdd',
    'FileUpload': fakepath_geico+f[0],
    '__VIEWSTATE': view_state,
    '__EVENTVALIDATION': event_validation,
    '__VIEWSTATEGENERATOR': view_state_generator,
    '__EVENTARGUMENT': '',
}

print (data)
upload_page = submit_form(browser, upload_page, **data)

这是我打印文件时得到的。

[('GB2_20191217_232851.csv', <_io.BytesIO object at 0x7f6ac298a0b0>)]

我只想知道怎么处理文件


Tags: 文件csv数据nameformdataifcontent