python网络编程,requests模块

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

import requests

pay_url = ‘http://szz.nnzhp.cn/pay‘

balance_url = ‘http://szz.nnzhp.cn/get_balance‘

balance_data = {‘user_id‘:1}

pay_data ={"user_id":1,"price":"999"}

balance_res = requests.get(balance_url,balance_data).text

#发送get请求,并获取返回结果,text获取的结果是一个字符串

print(balance_res)

balance_res = requests.get(balance_url,balance_data).json()

#发送get请求,并获取返回结果,json()方法获取的结果直接是一个字典

print(balance_res)

pay_res = requests.post(pay_url,pay_data).json()#调用post方法

print(pay_res)

#====入参是json串的====

url = ‘http://api.nnzhp.cn/getmoney‘

data = {"userid":1}

res = requests.post(url,json=data).json()#指定入参json

print(res)

#======添加cookie=====

url = ‘http://api.nnzhp.cn/setmoney2‘

data = {‘userid‘:1,"money":9999}

cookie = {‘token‘:"token12345"}

res = requests.post(url,data,cookies=cookie).json()#使用cookies参数指定cookie

print(res)

#=====添加权限验证=====

url = ‘http://api.nnzhp.cn/setmoney‘

data = {‘userid‘:1,"money":91999}

res = requests.post(url,data,auth=(‘admin‘,‘123456‘)).json()

#使用auth参数指定权限验证的账号密码,auth传的是一个元组

print(res)

#======发送文件=====

url = ‘http://api.nnzhp.cn/uploadfile‘

res = requests.post(url,files={‘file‘:open(‘api11.py‘)}).json()

#指定files参数,传文件,是一个文件对象

print(res)

#=====发送header======

url = ‘http://api.nnzhp.cn/getuser2‘

data = {‘userid‘:1}

header = {‘Content-Type‘:"application/json"}

res = requests.post(url,headers=header).json()

#指定headers参数,添加headers

print(res)

欢迎分享转载

时间: 2024-11-08 14:52:25

python网络编程,requests模块的相关文章

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学习笔记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模块(II)

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

python网络编程socket模块实现ftp上传下载

本实验实现ftp上传文件下载文件功能,并具有校验文件完整性,打印进度条功能, 主要练习socket,struct模块. ftp用户文件存放在user.json文件中 user.json文件内容 {"lisi": "abcdef", "hyh": "123456"} ftp客户端脚本ftpclient.py #!/usr/bin/python # --*-- coding: utf-8 --*-- import socket i

网络编程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请

Python网络编程—struct模块的使用

struct模块的使用 1.原理: 将一组简单数据进行打包,转换为bytes格式发送.或者将一组bytes格式数据,进行解析. 2.接口使用 Struct(fmt) 功能: 生成结构化对象 参数:fmt 定制的数据结构 st.pack(v1,v2,v3....) 功能: 将一组数据按照指定格式打包转换为bytes 参数:要打包的数据 返回值: bytes字节串 st.unpack(bytes_data) 功能: 将bytes字节串按照指定的格式解析 参数: 要解析的字节串 返回值: 解析后的内容

Python网络编程实战之一个人开发环境搭建

本节介绍在Debian下利用Python进行网络编程时,需要安装的一些实用的工具包. 0x01  安装开发必备软件包 $ sudo aptitude -y install build-essential     ##"-y"的作用是:在安装过程中,如果遇到Y或N的提问,一律以Yes作为默认的答案 $ sudo aptitude -y install libsqlite3-dev $ sudo aptitude -y install libreadline6-dev $ sudo apt

python 网络编程 (二)---tcp

异常 python的socket模块实际上定义了4种可能出现的异常: 1)与一般I/O 和通信问题有关的socket.error; 2)与查询地址信息有关的socket.gaierror; 3)与其他地址错误有关的socket.herror; 4)与在一个socket上调用settimeout()后,处理超时有关的socket.timeout; import socket, sys, time host = sys.argv[1] textport = sys.argv[2] filename

[Python网络编程] DNS缓存解决方案

记得以前写爬虫的时候为了防止dns多次查询,是直接修改/etc/hosts文件的,最近看到一个优美的解决方案,修改后记录如下: import socket _dnscache={} def _setDNSCache(): """ Makes a cached version of socket._getaddrinfo to avoid subsequent DNS requests. """ def _getaddrinfo(*args, **

Python 网络编程

Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法. 高级别的网络服务模块 SocketServer, 它提供了服务器中心类,可以简化网络服务器的开发. 什么是 Socket? Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. socket()函数 Pyt