• Python Requests库 form-data 上传文件操作


    请求数据示例:

    ------WebKitFormBoundaryKLoWgrA4O40MayHM
    Content-Disposition: form-data; name="id"
    
    9
    ------WebKitFormBoundaryKLoWgrA4O40MayHM
    Content-Disposition: form-data; name="name"
    
    赵云
    ------WebKitFormBoundaryKLoWgrA4O40MayHM
    Content-Disposition: form-data; name="tel"
    
    13212345678
    ------WebKitFormBoundaryKLoWgrA4O40MayHM
    Content-Disposition: form-data; name="school"
    
    西南科技大学
    ------WebKitFormBoundaryKLoWgrA4O40MayHM
    Content-Disposition: form-data; name="major"
    
    计算机
    ------WebKitFormBoundaryKLoWgrA4O40MayHM
    Content-Disposition: form-data; name="age"
    
    30
    ------WebKitFormBoundaryKLoWgrA4O40MayHM
    Content-Disposition: form-data; name="img"; filename="demo.jpg"
    Content-Type: image/jpeg
    
    
    ------WebKitFormBoundaryKLoWgrA4O40MayHM--
    

    1.通过data参数和files参数发送请求

    import requests
    
    request_url = 'http://www.demo.com/studentInfo/saveNewInfo'
    # 构造字典,键值对方式传参
    request_data = {
        'id': '9',
        'name': '赵云',
        'tel':'13212345678',
        'school': '西南科技大学',
        'major': '计算机',
        'age': '30'
    }
    # 上传文件单独构造成以下形式
    # 'img' 上传文件的键名
    # 'demo' 上传到服务器的文件名,可以和上传的文件名不同
    # open('D:/demo.jpg') 打开的文件对象,注意文件路径正确
    # 'image/jpeg' Content-Type类型
    request_file = {'img':(('demo',open('D:/demo.jpg')),'image/jpeg')}
    
    requests.post(url=request_url, data=request_data, files=request_file)	# url,data,files
    

    2.仅通过files参数模拟文件发送请求

    import requests
    
    request_url = 'http://www.demo.com/studentInfo/saveNewInfo'
    # 构造字典,键值对方式传参
    # 不是文件的构造键值对,键值为一个元组形式,元组第0位为None,第1位为键值.
    request_files = {
        'id': (None, '9'),
        'name': (None, '赵云'),
        'tel':(None, '13212345678'),
        'school': (None, '西南科技大学'),
        'major': (None, '计算机'),
        'age': (None, '30'),
        'img':(('demo',open('D:/demo.jpg')),'image/jpeg')
        # 'img':(None,'','image/jpeg')	 不传文件的写法
    }
    
    requests.post(url=request_url, files=request_files)		# url,files
    
  • 相关阅读:
    汉语-词语-平目:百科
    汉语-词语-平昔:百科
    汉语-词语-平一:百科
    汉语-词语-平居:百科
    汉语-词语-平展:百科
    汉语-词语-平静:百科
    汉语-词语-平心:百科
    汉语-词语-平庸:百科
    汉语-词语-平常:百科
    1231 最优布线问题
  • 原文地址:https://www.cnblogs.com/milesma/p/12023405.html
Copyright © 2020-2023  润新知