关闭

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

标签: python通过requestspost请求
1394人阅读 评论(0) 收藏 举报
分类:

博客核心内容:


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)

效果图:
这里写图片描述

1
0
查看评论

Python 使用requests发送POST请求

一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行  请求报头  消息主体 HTTP协议规定post提交的数据必须放在消息主体中,但是协议并没有规定必须使用什么编码方式。服务端通过是根据请求头中的Content-Type...
  • junli_chen
  • junli_chen
  • 2016-12-15 15:10
  • 40232

Python请求外部POST请求,常见四种请求体

HTTP 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。常见的四种编码方式如下: 1、application/x-www-form-urlencoded 这应该是最常见的 POST 提交数据的方式了。浏览器的原生 f...
  • silencemylove
  • silencemylove
  • 2016-01-05 14:09
  • 12895

Python使用post及get方式提交数据

最近在使用Python的过程中,发现网上很少提到在使用post方式时,怎么传一个数组作为参数的示例,此处根据自己的实践经验,给出相关示例: 单纯的post请求: def http_post(): url = "http://152.1.12.11:8080/web" ...
  • youzhouliu
  • youzhouliu
  • 2016-10-20 19:22
  • 2505

python+requests实现接口测试 - get与post请求使用( params

http://www.mamicode.com/info-detail-1755093.html 简介:Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作...
  • u013383813
  • u013383813
  • 2017-08-05 23:28
  • 6010

python通过POST提交页面请求

<br />#网页POST提交数据<br />import urllib<br />import urllib2<br />url = 'http://umbra.nascom.nasa.gov/cgi-bin/eit-catalog.cgi&...
  • liyzh_inspur
  • liyzh_inspur
  • 2011-04-01 14:21
  • 55892

Python 使用requests发送POST请求

原创 2016年12月15日 15:10:04 37807 一个http请求包括三个部分,为别为请求行,请求报头,消息主体,类似以下这样: 请求行  请求报头  消息主体 HTTP协议规定post提交的数据必须...
  • weixin_40283480
  • weixin_40283480
  • 2018-01-30 17:10
  • 30

python发送post请求

#!/usr/bin/python #-*-coding:utf-8-*- &nbsp;&nbsp; import httplib,urllib; #加载模块 &nbsp; #定义需要进行发送的数据 params = urllib.urlencode({'title...
  • longshenlmj
  • longshenlmj
  • 2013-09-05 18:22
  • 29026

Python-第三方库requests详解

Requests 是用Python语言编写,基于 urllib,采用 Apache2 Licensed 开源协议的 HTTP 库。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。Requests 的哲学是以 PEP 20 的习语为中心开发的,所以它比 urllib...
  • shanzhizi
  • shanzhizi
  • 2016-03-16 11:45
  • 238397

Python Requests post并将得到结果转换为json

编程小白一个,目前在学习python 爬虫。 之前看到一个博主说些博客对于程序员来说挺重要的,没怎么在意。今天觉得面对一个问题好不容易找到解决方案,是应该记录一下。说不定还有人来讨论讨论,哈哈! 之前开始接触用scrapy批量抓取网页,一直很怕面对要调用JS的内容,因为对JS和http reques...
  • sinat_28680819
  • sinat_28680819
  • 2017-04-28 20:01
  • 6768

Python Requests快速入门

快速上手 迫不及待了吗?本页内容为如何入门Requests提供了很好的指引。其假设你已经安装了Requests。如果还没有, 去 安装 一节看看吧。 首先,确认一下: Requests 已安装Requests是 最新的 让我们从一些简单...
  • iloveyin
  • iloveyin
  • 2014-03-18 10:09
  • 194576
    个人资料
    • 访问:652460次
    • 积分:9264
    • 等级:
    • 排名:第2366名
    • 原创:332篇
    • 转载:87篇
    • 译文:0篇
    • 评论:113条
    最新评论