首页 > 编程语言 >Python第三方库request的安装及基本用法

Python第三方库request的安装及基本用法

时间:2023-03-07 18:32:09浏览次数:50  
标签:请求 form Python request 用法 Content application json Type

​1、安装

安装命令:pip install requests

豆瓣源安装: pip install requests -i https://pypi.douban.com/simple/​

2、requests常见参数

​url参数:传入的是字符串,请求地址

data参数​:传入的是字典,自动编码为表单,常用于表单格式 (Concent-Type:application/x-www-form-urlencoded;charset=utf-8)

json参数:传入的是字典,自动编码为json字符串(Concent-Type:application/json;charset=utf-8)

params参数:传入的是字典,自动编码为表单

headers参数:传递的是字典格式,传递请求头

file参数:传递的是字典格式,一般使用在文件上传

cookies参数:传递的是字典格式,传递cookie

3.response响应

res.text:获取响应文本信息,返回字符串

res.json:获取json数据信息,返回字典

res.headers:获取响应头

res.staus_code:获取响应状态码

res.cookies:获取cookie信息

res.request.headers:获取请求头

res.request.body:获取请求体

4.实例

proxies里面的地址为fiddler的抓包地址,可以用来进行接口的请求调试

Python第三方库request的安装及基本用法_json

5.POST 方法的content-type类型

​content-type是http请求的响应头和请求头的字段。当作为响应头时,告诉客户端实际返回的内容的内容类型。作为请求头时(post或者put),客户端告诉服务器实际发送的数据类型。

在前端开发过程中,通常需要跟后端工程师对接接口的数据格式,不同的数据类型对于服务器来说有不同的处理方式,因此我们需要关注不同的conten-type类型.

1. application/x-www-form-urlencoded

浏览器原生form表单默认的提交方式(在不设置enctype的情况下)。此时请求头的格式如下:

content-type: application/x-www-form-urlencoded;charset=utf-8
form-data: key1=val1&key2=val2

此时后端例如php可以通过$_POST["key1"]的方法来获取参数值。

此种情况下:非字母或数字的字符会被进行编码(编码方式​​https://developer.mozilla.org/zh-CN/docs/Glossary/percent-encoding​​),这也是为什么这种方式不支持二进制数据的原因。

2. multipart/form-data

与application/x-www-form-urlencoded 的区别是她支持文件的传输,并且它的传输数据放在request-payload里,并且以bounday进行分隔。

POST /test.html HTTP/1.1 
Host: example.org
Content-Type: multipart/form-data;boundary="boundary"

--boundary
Content-Disposition: form-data; name="field1"

value1
--boundary
Content-Disposition: form-data; name="field2"; filename="example.txt"

value2

3. application/json

格式是这样的:

POST http://www.example.com HTTP/1.1 
Content-Type: application/json;charset=utf-8

{"title":"test","sub":[1,2,3]}

它用来告诉服务端消息主体是序列化后的 JSON 字符串,其中一个好处就是JSON 格式支持比键值对复杂得多的结构化数据。此时php不能直接通过$_POST获取,需要先从​​php://input​​里获得原始输入流,再​​json_decode​​成对象

4.text/plain

传统的ajax请求提交

function submit2() {
var xhr = new XMLHttpRequest();
xhr.timeout = 3000;
var obj = {a: 1, b: 2};
xhr.open('POST', '/');
xhr.send(obj);
}

Python第三方库request的安装及基本用法_请求头_02



另外,对于axios请求,不同的请求方式content-type也不同

function submit3() {
var sence1 = 'name=123&val=456';
var sence2 = {name: 123, val: 456};
axios.post('/', sence1)
}


  1. 当传递的是字符串的时候

Python第三方库request的安装及基本用法_字符串_03

2. 当传递的是对象的时候

Python第三方库request的安装及基本用法_json_04

总结

1.传统的ajax请求时候,​​Content-Type​​默认为"文本"类型。

2.传统的form提交的时候,​​Content-Type​​默认为"Form"类型。

3.axios传递字符串的时候,​​Content-Type​​默认为"Form"类型。

4.axios传递对象的时候,​​Content-Type​​默认为"JSON"类型


标签:请求,form,Python,request,用法,Content,application,json,Type
From: https://blog.51cto.com/u_15996576/6106406

相关文章

  • python-函数
    函数的定义先定义再使用def定义函数的时候代码不执行调用函数的时候代码才执行函数的参数形参定义函数时候的参数形参必须是......
  • 22个受欢迎的Python不同类型开源框架
    22个受欢迎的Python不同类型开源框架记录:一、PythonWeb框架Django:PythonWeb应用开发框架链接:https://www.djangoproject.com/Django应该是最出名的Python框架,GAE甚......
  • python小练习——图书管理系统(增加数据存储)
     上一次我们做了一个小的图书馆里系统,用来学习python基础部分的:函数、模块、列表、字典、循环、判断 现在我们在上一次的基础上增加一个功能,将写入系统的书籍存放起来......
  • Python3,2分钟掌握Doscoart库,你也能成为艺术家。
    1、引言小屌丝:鱼哥,最近在忙啥?小鱼:咱俩陌生了?小屌丝:何出此言?小鱼:你说的话又嘛意思呢?小屌丝:我的意思,最近看你这整理各种资料,貌似很忙的样子?小鱼:我平时不也这么忙嘛小......
  • python操作pandas的笔记
    importpandasaspddata={'name':['Alice','Bob','Charlie','David'],'age':[25,30,35,40],'gender':['F','M','M','M'......
  • WiFi probe request/response
    proberequest主动扫描通过发送proberequest帧进行STA会在每个信道上发送proberequest进行扫描。proberequest会向广播地址FF:FF:FF:FF:FF:FF发送。发送的STA可以指......
  • requests获取所有状态码
    requests获取所有状态码requests获取所有状态码requests默认是不会获取301/302的状态码的。可以设置allow_redirects=False,这样就可以获取所有的状态码了 1......
  • Python中Index的用法
    1.Index常用于Python的List数据类型在Python中有一种数据类型叫作List数据类型。程序员口中和中文翻译过来都称之为List数据类型,而Index主要用于List数据类型中。Index......
  • 使用Python操作Mysql数据库(进阶)
    #-*-coding:utf-8-*-importloggingimportpymysqlfromrest_framework.responseimportResponselogger=logging.getLogger(__name__)#连接数据库def......
  • Python 内置函数装饰器 classmethod staticmethod
    使用官方的说法:classmethod(function)中文说明:classmethod是用来指定一个类的方法为类方法,没有此参数指定的类的方法为实例方法,使用方法如下:classC:@classmetho......