账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Python 如何 发送 multiipart 上传文件?
    32
    0

    上传的参数如下

    ----------------------------119938005516990736431240663742
    Content-Disposition: form-data; name="_csrf"

    pvlVVBZkGPROBe1zHHx17fc5VKtVMcLMGS6TKFn82HPFjgMBeCsvnXtf3SksKELVmm4tziJFipMoSPp3Ds2SQA==
    -----------------------------119938005516990736431240663742
    Content-Disposition: form-data; name="ReportForm[url]"

    -----------------------------119938005516990736431240663742
    Content-Disposition: form-data; name="ReportForm[url]"; filename="å¼€å‘çŽ¯å¢ƒå’Œé¢„ä¸Šçº¿çŽ¯å¢ƒçš„ä»£ç åŒæ­¥.pdf"
    Content-Type: application/pdf

    我是这样写的,为啥总是上传pdf 上不上去呢?因为服务器总是显示上传text?

    files=[("ReportForm[url]",('齐家网COO毛新勇:《未来平台赋能是必然,但要真刀真枪才有意义》-18页.pdf',open(file,'rb'),'Content-Type: application/pdf'))]
    data={"_csrf":csrf_token}
    headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
            }
    
    response=requests.post(url=url,cookies=cookies,files=files,data=data,headers=headers)
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 撩人大姐大 普通会员 1楼

      在Python中,你可以使用requests库来发送multipart(多部分)上传文件。以下是一个简单的示例:

      ```python import requests

      指定文件名

      filename = "example.txt"

      创建一个包含文件的POST请求

      response = requests.post("http://example.com/upload", files={"file": open(filename, "rb")})

      检查响应是否成功

      if response.status_code == 200: print("File uploaded successfully") else: print("Failed to upload file") ```

      在这个示例中,我们首先导入requests库。然后,我们指定了文件名。然后,我们创建一个包含文件的POST请求,并将文件作为请求体发送。最后,我们检查响应是否成功。

      请注意,你需要将http://example.com/upload替换为你的实际上传服务器的URL,将example.txt替换为你要上传的文件名。

      此外,如果你的文件很大,你可能需要考虑使用其他方法,如使用PUT请求而不是POST请求,或者使用一个文件分块上传的服务。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部