Python中通过requests模块发送POST请求.

博客核心内容:


1、Python中通过requests模块发送POST请求.


我们通常情况下提交数据一般有两种方式:Ajax和Form表单的方式
如果request.post里面没有值,我们就到request.body里面去拿


代码示例:
服务端:

from django.shortcuts import render,HttpResponse
from django.views.decorators.csrf import csrf_exempt,csrf_protect
# Create your views here.


#通过装饰器避免了csrf_token攻击
@csrf_exempt
def asset(request):
    """
    我们通常情况下提交数据一般有两种方式:Ajax和Form表单的方式
    """
    if request.method == 'GET':
        return HttpResponse('GET 收到...')
    else:
        print(request.POST)
        # print(request.body)
        """
        <QueryDict: {'salary': ['2000'], 
                     'username': ['Angela'], 
                     'password': ['123456']}
        >
        注意:如果request.post里面没有值,我们就到request.body里面去拿
        b'{"password": "123456", "username": "Angela", "salary": 2000}'
        """
        return HttpResponse('POST 收到...')

客户端:

#!/usr/bin/python
# -*- coding:utf-8 -*-

import requests

"""
通过requests可以向某个地址发送请求
"""

"""
response = requests.get('http://127.0.0.1:8000/asset.html')
# 通过get请求返回的文本值
print(response.text)
"""


# post发送的数据
postData = {
    'username':'Angela',
    'password':'123456',
    'salary':2000,
}

# 对于我们工作中的自己人,我们一般会使用别的验证,而不是csrf_token验证
response = requests.post('http://127.0.0.1:8000/asset.html',data=postData)
# 通过get请求返回的文本值
print(response.text)

效果图:
这里写图片描述

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 在使用 Requests 模块发送 POST 请求时,你需要在调用 `requests.post()` 函数时传入几个参数: 1. `url`: 这是你要发送 POST 请求的 URL。 2. `data`: 这是你要发送的数据。它可以是一个字典,列表,元组或字符串。如果你要发送表单数据,你应该使用字典并使用 `requests.post()` 函数的 `data` 参数传递它。 3. `json`: 这是你要发送的 JSON 数据。你可以使用这个参数来发送 JSON 格式的数据。 4. `headers`: 这是你要发送的 HTTP 头。你可以使用字典来指定 HTTP 头。 5. `cookies`: 这是你要发送的 cookie。你可以使用字典来指定 cookie。 6. `auth`: 这是你的身份验证信息。你可以使用元组来指定用户名和密码。 7. `timeout`: 这是等待服务器响应的最长时间(以秒为单位)。 例如,下面是使用 Requests 模块发送 POST 请求的示例代码: ``` import requests url = 'http://httpbin.org/post' data = {'key': 'value'} headers = {'Content-Type': 'application/json'} response = requests.post(url, data=data, headers=headers) print(response.text) ``` 这个示例代码向 `http://httpbin.org/post` 发送了一个 POST 请求,并使用 `data` 参数传递了一个字典作为表单数据,使用 `headers` 参数指定了 HTTP 头。 ### 回答2: Requests 模块发送 Post 请求的参数可以通过不同的方式传递。 第一种方式是通过 data 参数传递,可以将参数以字典形式传递给 data 参数,例如: ``` import requests data = {'key1': 'value1', 'key2': 'value2'} response = requests.post(url, data=data) ``` 第二种方式是通过 json 参数传递,可以将参数以字典形式传递给 json 参数,例如: ``` import requests data = {'key1': 'value1', 'key2': 'value2'} response = requests.post(url, json=data) ``` 第三种方式是通过 headers 参数传递,可以将参数以字典形式传递给 headers 参数,例如: ``` import requests headers = {'Content-Type': 'application/json'} response = requests.post(url, headers=headers) ``` 第四种方式是通过 cookies 参数传递,可以将参数以字典形式传递给 cookies 参数,例如: ``` import requests cookies = {'key1': 'value1', 'key2': 'value2'} response = requests.post(url, cookies=cookies) ``` 以上是 Requests 模块发送 Post 请求的一些常见参数传递方式,根据实际情况选择合适的方式进行参数传递。 ### 回答3: Requests 模块发送 post 请求时的参数可以通过 data 或者 json 参数来设置。 使用 data 参数时,可以传递一个字典类型的对象作为参数,其包含了需要发送的数据。这个字典对象会被自动编码为表单形式的请求数据,然后发送给服务器。可以使用如下方式设置 data 参数: ```python import requests payload = {'key1': 'value1', 'key2': 'value2'} response = requests.post(url, data=payload) ``` 使用 json 参数时,可以传递一个字典类型的对象作为参数,其包含了需要发送的数据。这个字典对象会被自动编码为 JSON 格式的请求数据,然后发送给服务器。可以使用如下方式设置 json 参数: ```python import requests payload = {'key1': 'value1', 'key2': 'value2'} response = requests.post(url, json=payload) ``` data 参数适用于普通的表单数据提交,而 json 参数适用于发送 JSON 数据的情况。根据实际需要选择合适的方式来设置参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只懒得睁眼的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值