requests的post提交form-data; boundary=????


提交這種用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)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM