qq_46151004 2024-01-06 17:42 采纳率: 1.8%
浏览 8
已结题

python session 如何设置数据格式

img


1.用python session.post如何设置multipart form data格式?

2.session.post函数中是否有默认的数据格式?

  • 写回答

18条回答 默认 最新

  • 专家-郭老师 Java领域新星创作者 2024-01-06 17:50
    关注

    使用文言一心和答主查阅资料提供:

    Python 的 requests 库(它提供了 Session 对象)可以轻松地设置 multipart form data 格式。

    
    import requests
    
    url = 'http://httpbin.org/post'
    session = requests.Session()
    
    payload = {
        "key1": "value1",
        "key2": "value2",
    }
    files = [
        ("file_name", ("test.txt", open('test.txt', 'rb'), 'text/plain')),
    ]
    response = session.post(url, data=payload, files=files)
    
    

    上述示例将表单数据和文件一起发送。在 files 参数中,我们传递一个由元组组成的列表,每个元组的格式为( fieldname, (filename, fileobj, content_type))。

    如果你在 requests.post() 或 session.post() 函数中不显示地设置数据格式,那么默认的数据格式会是 application/x-www-form-urlencoded。如果你添加了 files 参数,那么 requests 会自动设置 Content-Type 为 multipart/form-data。

    如果你需要发送 JSON 格式的数据,你可以使用 json 参数:

    import requests
    import json
    
    url = 'http://httpbin.org/post'
    session = requests.Session()
    
    payload = {
        "key1": "value1",
        "key2": "value2",
    }
    
    response = session.post(url, json=payload)
    
    

    上述代码会自动将 payload 转化为 JSON 格式,并且设置 Content-Type 为 application/json。

    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月10日
  • 创建了问题 1月6日

悬赏问题

  • ¥15 机器学习预测遇到的目标函数问题
  • ¥15 python的EOFError该怎么解决?
  • ¥15 Fluent,液体进入旋转区域体积分数不连续
  • ¥15 java linux下将docx文件转pdf
  • ¥15 maven无法下载依赖包
  • ¥15 关于pycharm, Callable[[str],bool]作为方法参数使用时, lambda 类型不提示问题
  • ¥15 layui数据重载无效
  • ¥15 寻找了解qq家园纵横四海的程序猿。
  • ¥15 optisystem
  • ¥15 VB.NET画图时的撤销编程