提交這種用boundary分隔的表單數據時,有兩種方法,一種是以傳入files參數,另一種是傳入data參數,data參數需要自己用boundary來分隔為指定的形式,而files參數則以元組的形式傳入,代碼如下
files = { 'TOKENKEY': (None, str(nowtime)), # 當前時間戳 'wbuploadpath': (None, ""), 'owner': (None, "886166885"), 'token': (None, token), 'params': (None, 'eyJjb252ZXJ0cGFyYW1zIjpbeyJjb252ZXJ0VHlwZSI6ImltYWdldG90aHVtYiIsInBhcmFtcyI6eyJpbWdhdXRvcmVzaXplIjoidHJ1ZSIsImltZ2F1dG9yZXNpemV3aWR0aCI6IjEwMjQiLCJpbWdhdXRvcmVzaXplaGVpZ2h0IjoiMTAwMDAiLCJsaW1pdHdpZHRoIjoiMTYyMCIsImxpbWl0aGVpZ2h0IjoiMTAwMDAiLCJpbWd0aHVtYndpZHRoIjoiNjQwIiwiaW1ndGh1bWJoZWlnaHQiOiIxMDAwMDAiLCJsaW1pdGZpbGVzaXplIjoiMTA0ODU3NiJ9fSx7ImNvbnZlcnRUeXBlIjoiaW1hZ2V0b3JlZHVjZXF1YWxpdHkiLCJwYXJhbXMiOnsiaW1nYXV0b3Jlc2l6ZSI6InRydWUiLCJpbWdhdXRvcmVzaXpld2lkdGgiOiIxMDI0IiwiaW1nYXV0b3Jlc2l6ZWhlaWdodCI6IjEwMDAwIiwibGltaXR3aWR0aCI6IjE2MjAiLCJsaW1pdGhlaWdodCI6IjEwMDAwIiwiaW1ndGh1bWJ3aWR0aCI6IjY0MCIsImltZ3RodW1iaGVpZ2h0IjoiMTAwMDAwIiwibGltaXRmaWxlc2l6ZSI6IjEwNDg1NzYifX1dLCJhbGxvd2V4dHMiOiJqcGcsanBlZyxnaWYscG5nLGJtcCxnaWYscG5nLGRvYyxkb2N4LHBwdCxwcHR4LGV4Y2VsLHhscyx4bHN4LGJtcCxqcGcsanBlZyx6aXAscmFyIiwidXB0b2tlbiI6IjgxNjAzOTRCREE4NjRDRDZCRDlBRUUwNTY0OEUwRkNGIiwibm9kZWNvZGUiOiJsb2NhbCJ9' ), 'uploadfilejson': (None, ""), 'watermark': (None, ""), 'waterlocal': (None, ""), 'waterfilename': (None, ""), 'waterurl': (None, ""), 'classselect': (None, '1160'), 'wbtitle': (None, wbtitle), 'image': (None, "", 'application/octet-stream'), 'wbcontent': (None, wbcontent), 'yanzheng': (None, str(yanzheng)) }
data = """ ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="TOKENKEY" {} ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="wbuploadpath" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="owner" 886166885 ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="token" {} ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="params" eyJjb252ZXJ0cGFyYW1zIjpbeyJjb252ZXJ0VHlwZSI6ImltYWdldG90aHVtYiIsInBhcmFtcyI6eyJpbWdhdXRvcmVzaXplIjoidHJ1ZSIsImltZ2F1dG9yZXNpemV3aWR0aCI6IjEwMjQiLCJpbWdhdXRvcmVzaXplaGVpZ2h0IjoiMTAwMDAiLCJsaW1pdHdpZHRoIjoiMTYyMCIsImxpbWl0aGVpZ2h0IjoiMTAwMDAiLCJpbWd0aHVtYndpZHRoIjoiNjQwIiwiaW1ndGh1bWJoZWlnaHQiOiIxMDAwMDAiLCJsaW1pdGZpbGVzaXplIjoiMTA0ODU3NiJ9fSx7ImNvbnZlcnRUeXBlIjoiaW1hZ2V0b3JlZHVjZXF1YWxpdHkiLCJwYXJhbXMiOnsiaW1nYXV0b3Jlc2l6ZSI6InRydWUiLCJpbWdhdXRvcmVzaXpld2lkdGgiOiIxMDI0IiwiaW1nYXV0b3Jlc2l6ZWhlaWdodCI6IjEwMDAwIiwibGltaXR3aWR0aCI6IjE2MjAiLCJsaW1pdGhlaWdodCI6IjEwMDAwIiwiaW1ndGh1bWJ3aWR0aCI6IjY0MCIsImltZ3RodW1iaGVpZ2h0IjoiMTAwMDAwIiwibGltaXRmaWxlc2l6ZSI6IjEwNDg1NzYifX1dLCJhbGxvd2V4dHMiOiJqcGcsanBlZyxnaWYscG5nLGJtcCxnaWYscG5nLGRvYyxkb2N4LHBwdCxwcHR4LGV4Y2VsLHhscyx4bHN4LGJtcCxqcGcsanBlZyx6aXAscmFyIiwidXB0b2tlbiI6IjRBMDVGQzUwMjQzQzRGNkY4NTQ1QjQ4QjhGOTNCQzg5Iiwibm9kZWNvZGUiOiJsb2NhbCJ9 ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="uploadfilejson" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="watermark" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="waterlocal" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="waterfilename" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="waterurl" ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="classselect" 1160 ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="wbtitle" {} ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="image"; filename="" Content-Type: application/octet-stream ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="wbcontent" {} ------WebKitFormBoundaryYuBOtqhxWuNB9YP2 Content-Disposition: form-data; name="yanzheng" {} ------WebKitFormBoundaryYuBOtqhxWuNB9YP2-- """.format(str(nowtime), token, wbtitle, wbcontent, yanzheng).encode('UTF-8')
#response = requests.post(url, headers=headers, data=data)
response = requests.post(url, headers=headers, files=files)