网络编程requests模块的介绍

首要要安装requests,安装命令是pip install requests

1、发送请求和传递参数_get请求方式

import requests

r = requests.get(url=‘http://www.itwhy.org‘)    #最基本的GET请求

print(r.status_code)    #获取返回状态

r = requests.get(url=‘http://dict.baidu.com/s‘, params={‘wd‘:‘python‘})   #带参数的GET请求

print(r.url)

print(r.text)   #打印解码后的返回数据,返回的是一个字符串类型

2、发送请求和传递参数_post请求方式

url = "http://127.0.0.1:8000/login"

data = {"username":"jmy1235","password":123456}

req = requests.post(url,data)

print(req.text)    #字符串,json串

print(type(req.text))    #返回的数据类型是字符串

print(req.json())     #返回的是字典

print(type(req.json()))    #返回的数据类型是字典

3、传header、cookie

def get_sign(url,data):     #封装成一个函数,获取sign

res = requests.post(url,data).json()    #返回一个字典,可以取sign

print(res)

return res[‘sign‘]

print(get_sign(url,data))

发带cookie、header

sign = get_sign(url,data)

cookie = {‘sign‘:sign}

header = {"sunshujiang":"haha"}

data2 = {
              ‘username‘:‘jmy1235‘,
              ‘real_name‘:‘孙树江‘,
              ‘class‘:‘巨蟹座‘,
              ‘phone‘:‘13800138000‘

}

url = ‘http://127.0.0.1:8000/add_stu2‘

r = requests.post(url,json = data2,cookies = cookie,headers = header)

print(r.text)

4、上传文件

@server.route(‘/upload‘,methods=[‘post‘])

def upload():   #上传文件接口

print(request.files)

f = request.files.get(‘file_name‘,None)  #如果没有上传文件,默认是None

if f:

t =
time.strftime(‘%Y%m%d%H%M%S‘)#获取当前时间

new_file_name = t+f.filename#给文件重命名,防止有重复文件覆盖

abs_path =
os.path.join(UPLOAD_PATH,new_file_name)

f.save(abs_path)#保存文件

return
my_json({"code":"ok"})

else:

return
my_json({"msg":"请上传文件!"})

file = {‘file_name‘:open(‘上周回顾.py‘,encoding = ‘utf8‘)}

url = ‘http://127.0.0.1:8000/upload‘

r = requests.post(url,files = file)

print(r.text)

时间: 2024-11-07 22:29:31

网络编程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网络编程----requests模块

python访问网站可以用标准模块--urllib模块(这里省略),和requests(安装-pip install requests)模块,requests模块是在urllib的基础上进行的封装,比urllib模块功能更强到,易用 import json,requests #发送get请求 url = 'http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑马' req = requests.get(url) #发送get请求 print(req.t

Python网络爬虫-requests模块(II)

有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/env python # -*- coding:utf-8 -*- import requests if __name__ == "__main__": #张三人人网个人信息页面的url url = 'http://www.renren.com/289676607/profile' #伪装UA

Python2与Python3的区别/网络编程/socketserver模块中的多线程

一.知识点补充: 1.解释型语言和编译型语言 编译型(目前有两种解释): 先把代码编译成机器码 -> 机器寄存器去运行 :C语言 先把代码编译成XXX -> 计算机找虚拟机执行代码 -> 机器码交给计算机去执行 :C语言,JAVA,C# 解释型: 边解释边执行 2.Python中的作用域 Python中的函数是一个作用域 3.这里规定一下以后写元组的格式: v = (1,2,3,) 1.Python中函数是一个作用域 i=0 for i in range(10): pass print(

17、第七周-网络编程 - 协程概念介绍、协程gevent模块并发爬网页

协程,又称微线程,纤程.什么是线程:协程是一种用户态的轻量级线程. 协程拥有自己的寄存器上下文和栈.协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈.因此:协程能保留上一次调用时的状态(即所有局部状态的一个特定组合),每次过程重入时,就相当于进入上一次调用的状态,换种说法:进入上一次离开时所处逻辑流的位置. 协程的好处: 无需线程上下文切换的开销 无需原子操作锁定及同步的开销(注解:"原子操作(atomic operation)是不需要synchr

网络编程与模块相关

BS架构 (腾讯通软件:server+client) CS架构 (web网站) C/S架构与socket的关系: 我们学习socket就是为了完成C/S架构的开发 二.OSI七层模型 互联网协议按照功能不同分为osi七层或tcp/ip五层或tcp/ip四层 每层运行常见物理设备 详细参考: http://www.cnblogs.com/linhaifeng/articles/5937962.html#_label4 学习socket一定要先学习互联网协议: 1.首先:本节课程的目标就是教会你如何

网络编程socket模块

套接字的地址家族(AF, Address Family)分为2种,一种是基于文件的AF_UNIX,一种是基于网络的AF_INET,:套接字的类型有2种,面向连接的套接字SOCK_STREAM和无连接的套接字SOCK_DGRAM. UDP常用的模块有3个: (1) socket([family[, type[proto]]]) (2) sendto(string,address) (3) recvfrom(bufsize[, flags]) 收发UDP数据,接收到的是data,address TC

网络编程I/O函数介绍

read和write #include <unistd.h> ssize_t read(int fd, void *buf, size_t count); ssize_t write(int fd, const void *buf, size_t count); 参数: fd: 文件描述符 buf:数据缓冲区,用于保存要从fd读取或写入的数据 count:输入/写入的数据最大字节数.(实际读取或写入的数据大小可能小于count) 返回值: 正常情况下返回读取或写入的真正的数据大小 返回0表示没

【Linux网络编程】IP地址介绍

什么是 IP 地址IP 地址(Internet Protocol Address)也称为网间地址.网际地址.IP地址是指互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),是IP Address的缩写.IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异. IP 地址是?TCP/IP 协议栈?里的网络层地址方案,IP地址是一种用来对网络设备的逻辑标识. 举个生活中的例子,如果我要寄一