python学习笔记(十八)网络编程中好用的模块介绍

上篇博客中我们使用python自带的urllib模块去请求一个网站,或者接口,但是urllib模块太麻烦了,传参数的话,都得是bytes类型,返回数据也是bytes类型,还得解码,想直接把返回结果拿出来使用的话,还得用json,发get请求和post请求,也不通,使用比较麻烦,还有一个比较方便的模块,比urllib模块方便很多,就是requests模块,它使用比较方便,需要安装,pip install requests即可,下面是requests模块的实例

#1、发get请求
url = ‘http://api.python.cn/api/user/stu_info‘
data = {‘stu_name‘:‘小黑‘}  #请求数据
req = requests.get(url,params=data)  #发get请求
print(req.json())  #返回数据是字典
print(req.text)    #返回数据是string,json串

#2 、发post请求url = ‘http://api.python.cn/api/user/login‘data = {‘username‘:‘test‘,‘passwd‘:‘aA123456‘}  #请求数据req = requests.post(url,data)  #发送post请求print(req.json())print(req.text)
#3、入参是json类型的import randomphone=random.randint(10000000000,99999999999)url=‘http://api.python.cn/api/user/add_stu‘data =  {    "name":"小1",    "grade":"天蝎座",    "phone":phone,    "sex":"男",    "age":28,    "addr":"河南省济源市北海大道32号"  }req = requests.post(url,json=data)print(req.json())
# 4、添加cookieurl = ‘http://api.python.cn/api/user/gold_add‘data = {‘stu_id‘:468,‘gold‘:10000}djl = {‘usertest‘:‘337ca4cc825302b3a8791ac7f9dc4bc6‘}req = requests.post(url,data,cookies=djl)print(req.json())

#5、添加headerurl = ‘http://api.python.cn/api/user/all_stu‘header = {    ‘Referer‘:‘http://api.nnzhp.cn/‘}req = requests.get(url,headers=header)print(req.json())
#6、上传文件url= ‘http://api.python.cn/api/file/file_upload‘data = {    ‘file‘:open(r‘C:\Users\bjniuhanyang\Desktop\图\6bd9026dt935575932465&690.jpg‘,‘rb‘)}req= requests.post(url,files=data)print(req.json())
#7、下载文件url = ‘http://up.mcyt.net/?down/46779.mp3‘  #下载图片、MP3、MP4都是同样的操作,找到该资源的url即可req = requests.get(url)print(req.content)#返回的是二进制模式fw = open(‘aaa.mp3‘,‘wb‘)#二进制的文件写模式是"wb",读模式是"rb"fw.write(req.content)
 

原文地址:https://www.cnblogs.com/mululu/p/9050059.html

时间: 2024-07-31 03:26:50

python学习笔记(十八)网络编程中好用的模块介绍的相关文章

python学习笔记(十二)-网络编程

本文结束使用 Requests 发送网络请求.requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到.可以说,Requests 完全满足如今网络的需求. 安装方式一般采用$ pip install requests. 一开始要导入 Requests 模块: import requests 发送get请求 url = 'http://api.xxx.com/api/user/stu_info?stu_name=小黑马' req = requests.

python学习笔记8:网络编程--requests模块

python操作网络,也就是打开一个网站,或者请求一个http接口. 使用requests模块,pip install requests 安装即可. requests 模块是基于urllib模块进行开发的,urllib用起来比较麻烦:传参数的话,都得是bytes类型,返回数据也是bytes类型,还得解码.所以我直接丢弃之 一.打开一个网站 二.请求一个接口 1.key-value传参的接口 2.json传参的接口 3.要添加cookie的接口 4.要加header的接口 5.要加权限的接口

python学习笔记十——异常处理

1.try: command except 错误类型,记录错误信息变量: command finally: command try...finally的用处是无论是否发生异常都要确保资源释放代码的执行.一般来说,如果没有发生错误,执行过try语句块之后执行finally语句块,完成整个流程.如果try语句块发生了异常,抛出了这个异常,此时就马上进入finally语句块进行资源释放处理.如下从几个细节讨论finally的特性. 1).try中的return: 当在try语句块中含有return语句

Python学习笔记之六:在VS中调用Python

1,安装配置好Python本身的运行环境,以能在命令行下运行py脚本为准 2,将Python的根目录下的include文件夹,添加到VS的项目属性->配置属性->C/C++->"附加包含目录"中 3,将Python的根目录下的libs文件夹,添加到VS的项目属性->配置属性->链接器->"附加库目录"中 4,在C++项目中添加Python头文件: #include <python.h> 5,添加必要的Python初始化

python基础教程_学习笔记24:网络编程、Python和万维网

网络编程 python是一个很强大的网络编程工具,首先,它有很多针对常见网络协议的库,在库顶部可以获得抽象层,这样可以集中精力在程序的逻辑处理上,而不是停留在网络实现的细节上:其次,python处理字节流的各种模式方面很擅长,因此可以轻松处理各种协议格式. 少数几个网络设计模块 socket模块 在网络编程中的一个基本组件就是套接字(socket).套接字主要是两个程序之间"信息通道".程序可能(通过网络连接)分布在不同的计算机上,通过套接字相互发送信息.在Python中的大多数的网络

Python学习笔记(八)

一.变量可以指向一个函数 a = abs 二.通过调用指向函数的变量可以执行该函数 a = abs a(-10) 三.指向函数的变量可以作为参数传递给一个函数 def add(x,y,f): return f(x) + f(y) add(-5,-6,abs) 四.map()函数 map() 函数可以为其传入一个函数以及一个可Iterator的对象,map将使用该函数依次作用于每个Iterator的元素 list1 = [ x for x in range(1,11)] def fun(x): r

Python学习笔记__9章 IO编程

# 这是学习廖雪峰老师python教程的学习笔记 1.概览 IO在计算机中指Input/Output,也就是输入和输出. 由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,所以涉及到数据交换的地方,通常是磁盘.网络等,这些地方就需要IO接口. 数据从内存往外发是Output 数据从外往内存发是Iutput 2.同步IO和异步IO 同步IO:发起IO请求后,等到IO的返回结果,在接着往下执行 异步IO:发起IO请求后,可以去做其他事.IO结果返回后,会通知调用者. 注:本章所讲

Python学习笔记第八周

本节内容: 1.动态导入模块 2.断言机制 3.SocketServer 1.动态导入模块 有时在编程过程中,如果知道模块对应的字符串,可以通过动态导入的方式将该字符对应的模块进行动态导入 导入的方式有两种: 1.python解释器默认的方式导入 2.官方推荐动态导入方式 下面来分别介绍以下两种方式: lib模块中包括aa文件,aa文件内容如下: class C(object): def __init__(self): self.name = 'gavin' 通过方法一导入: modname =

Linux学习笔记&lt;十八&gt;——内核编译

内核由核心和内核模块两部分组成 核心:/boot/vmlinuz-version 内核模块(ko):/lib/modules/version/ 查看内核版本 uname -r 主版本号.次版本号(偶数表示稳定版本,奇数表示测试版本).修订版本号(修订的次数) 用户空间访问.监控内核是通过访问修改/proc,/sys目录下的文件(即设定内核的参数值)实现的 /proc/sys:此目录中的文件很多是可读写的 /sys:某些文件可写 设定内核参数值的方法: 1.echo VALUE > /proc/s