python操作网络,也就是打开一个网站,或者请求一个http接口,本篇是介绍使用request模块的使用方式。

在使用requests模块之前需要先安装,在cmd中输入:pip install requests 即可。以下是各种接口的访问操作:

1)、发get请求

 url = 'http://api.nnzhp.cn/api/user/stu_info' #接口的URL
data = {'stu_name':'小黑'} #请求数据,就是请求接口需要的参数,这个需要看具体的接口说明
req = requests.get(url,params=data) #发get请求
print(req.json()) #字典 也就是请求接口返回的结果

2)、发post请求

url = 'http://api.nnzhp.cn/api/user/login' #接口的URL
data = {'username':'niuhanyang','passwd':'aA123456'} #请求数据
req = requests.post(url,data) #发送post请求
print(req.json()) #请求接口返回的结果

3)、入参是json类型的

import random
phone=random.randint(10000000000,99999999999) #随机生成11位手机号码,在json里面使用
url='http://api.nnzhp.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)、添加cookie

url = 'http://api.nnzhp.cn/api/user/gold_add'#接口地址
data = {'stu_id':468,'gold':10000}#请求参数
djl = {'niuhanyang':'337ca4cc825302b3a8791ac7f9dc4bc6'}#cookie
req = requests.post(url,data,cookies=djl)#发送post请求
print(req.json())

5)、添加header

nzhp.cn/api/user/all_stu'
header = {
'Referer':'http://api.nnzhp.cn/'
}
req = requests.get(url,headers=header)#发送请求
print(req.json())

6)、上传文件

url= 'http://api.nnzhp.cn/api/file/file_upload'#接口地址
data = {
'file':open(r'C:\Users\bjniuhanyang\Desktop\图\6bd9026dt935575932465&690.jpg','rb')
}#上传图片,图片时二进制,需要使用'rb'模式
req= requests.post(url,files=data)
print(req.json())

7)、下载文件

url = 'http://up.mcyt.net/?down/46779.mp3'#下载文件的地址
req = requests.get(url)#发送get请求
fw = open('aaa.mp3','wb')#图片使用‘wb’模式
fw.write(req.content)

以上举例说明7种接口的访问方式。

使用requests模块的网络编程的更多相关文章

  1. 第四模块:网络编程进阶&数据库开发 第1章·网络编程进阶

    01-进程与程序的概念 02-操作系统介绍 03-操作系统发展历史-第一代计算机 04-操作系统发展历史-批处理系统 05-操作系统发展历史-多道技术 06-操作系统发展历史-分时操作系统 07-总结 ...

  2. 第四模块:网络编程进阶&数据库开发 练习

    练习题 基于queue模块实现线程池 import threading from multiprocessing import Queue class A(threading.Thread): def ...

  3. 第四模块:网络编程进阶&数据库开发 口述

    进程即正在执行的一个过程.进程是对正在运行程序的一个抽象. 子进程死了之后 ,父进程关闭的时候要清理掉子进程的僵尸进程(收尸),孤儿进程是指父进程先死掉了的,交给init管理. join() 等待子进 ...

  4. 使用python的socket模块进行网络编程

    使用socket编程可以分成基于tcp和基于udp,tcp和udp两者最主要的区别是有无面向连接. 基于tcp的socket流程:

  5. 使用requests模块保存网络上的图片

    import requests url = 'https://www.baidu.com/img/bd_logo1.png' r = requests.get(url=url) with open(' ...

  6. 第四模块:网络编程进阶&数据库开发 第2章·MySQL数据库开发

    01-MySQL开篇 02-MySQL简单介绍 03-不同平台下安装MySQL 04-Windows平台MySQL密码设置与破解 05-Linux平台MySQL密码设置与破解 06-Mac平台MySQ ...

  7. 第四模块:网络编程进阶&数据库开发 考核实战

     1.什么是进程?什么是线程? 什么是协程? 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu. 线程:在传统操作系统中,每个进程有一个地址空间,而且默认就有一个控制线程 协程是一种用 ...

  8. 第三模块 面向对象& 网络编程基础 实战考核

    1.简述构造方法和析构方法. 构造方法(__init__):主要作用是实例化时给实例一些初始化参数,或执行一些其它的初始化工作,总之因为这个__init__只要一实例化, 就会自动执行,不管你在这个方 ...

  9. 第三模块:面向对象&网络编程基础 第2章 网络编程

    01-计算机基础 02-什么是网络 03-五层协议详解 04-传输层详解 05-什么是Socket 06-基于socket实现简单套接字通信 07-在简单套接字基础上加上通信循环 08-客户端与服务端 ...

随机推荐

  1. docker 使用elasticsearch+logstash

    1.1部署elasticsearch:6.5.4 docker pull elasticsearch:6.5.4 docker run -d --name elasticsearch -p 9200: ...

  2. mysql:创建新库,新表,查看character

    创建新库create database wenda; 创建新表drop table if exists `user`;create table `user`( `id` int(11) unsigne ...

  3. DEVOPS技术实践_10:安装部署Artifactory

    需要一种机制去存储所有的二进制代码(build,packages,third-party plugins等)到类似于版本控制系统的系统. 像Git,SVN存储代码,它们存储的往往是源代码,不是二进制文 ...

  4. socket粘包问题及解决方案

    一.粘包问题 问题1: 无法确认对方发送过来数据的大小. 'client.py' import socket client = socket.socket() client.connect( ('12 ...

  5. 使用rapidjson把文本json数据解析到树状结构

    一个递归搞定 无聊的时候练练手就写了一个 头文件什么的我就不贴了 demo程序是MFC写的 void ParseObject(rapidjson::Value dc, CTreeCtrl * pTre ...

  6. Java入门(三)——集合概讲

    集合(或者叫容器)是Java的核心知识点,它有着很深的深度.我们这里不会设计多深,仅仅作为了解入门,深入了解请移步各种集合源码文章.好的,下面正是开始介绍... Java集合为何而生 我们知道,Jav ...

  7. [vsCode实践] 实践记录

    [vsCode实践] 实践记录 版权2019.5.1更新 Q1:代码中涉及到操作本地文件时,相对路径总是不对 操作本地文件时,路径方式有两种 相对路径 例如:代码文件所在路径/Users/tp0829 ...

  8. SpringBoot 总结篇

            时至今日,SpringBoot 系列文章也算是告一段落,回想起当初立flag的情景,仿佛还历历在目.用一个月时间学完 SpringBoot 并整理成文章?又定一些异想天开计划,当时这样 ...

  9. 不懂Neo4j?没关系,先学增删改查

    从上篇文章中我们了解到了什么是Neo4j.为什么要用Neo4j.什么场景使用 以及怎么安装,如果您还不想熟悉,点击此处,传送过去哦~ 既然Neo4j是一个图数据库,那么毫无疑问,增删改查是必不可少的, ...

  10. Linux下Qt+CUDA调试并运行

    Qt与CUDA相结合具体的操作主要修改qt项目中的配置文件pro.下面以测试的项目为例. 因为这是一个测试案例,代码很简单,下面将这几个文件的代码贴出来,方面后面对应pro文件和Makefile文件中 ...