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.text) #获取结果,返回string/html等用text
print(req.json()) #获取结果直接就是字典,等价于 print(json.loads(req.text)) #json串转化成字典,注:返回的必须是json串,才能用.json方法。 #发送post请求
url = 'http://api.nnzhp.cn/api/user/login'
data = {'username':'niuhanyang','passwd':'aA123456'}
req = requests.post(url,data) #发送post请求,第一个参数是url,第二个参数是请求参数
print(req.json()) #入参是json的
url = 'http://api.nnzhp.cn/api/user/add_stu'
data = {'name':'丁飞','grade':'巨蟹座','phone':31971891223}
req = requests.post(url,json=data) #发送post请求,第一个参数是url,第二个参数是请求参数
print(req.json()) #添加cookie
url = 'http://api.nnzhp.cn/api/user/gold_add'
data = {'stu_id':231,'gold':1000}
cookie = {'niuhanyang':'6d195100b95a43046d2e385835c6e2c2'}
req = requests.post(url,data,cookies=cookie)
print(req.json()) #添加header
url='http://api.nnzhp.cn/api/user/all_stu'
h = {'Referer':'http://api.nnzhp.cn/','User-Agent':'Chore'}#可以添加多个header,用,分开
res = requests.get(url,headers=h)
print(res.json()) #上传文件
url = 'http://api.nnzhp.cn/api/file/file_upload'
f = open(r'C:\Users\bjniuhanyang\Desktop\ad.cpm.schedulingInfo.v1.json','rb')
r = requests.post(url,files={'file':f})
print(r.json()) #下载文件
url= 'http://www.besttest.cn/data/upload/201710/f_36b1c59ecf3b8ff5b0acaf2ea42bafe0.jpg'
r = requests.get(url)
print(r.status_code) #获取请求的状态码
print(r.content) #获取返回结果--二进制格式的
fw = open(r'bt.jpg','wb')
fw.write(r.content)
fw.close() #保存网页
url = 'http://www.nnzhp.cn/archives/630'
r = requests.get(url)
f = open('nnzhp.html','wb')
f.write(r.content)
f.close()

  

python网络编程----requests模块的更多相关文章

  1. python 网络爬虫requests模块

    一.requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效. 1.1 模块介绍及请求过程 requests模块模 ...

  2. Python网络爬虫-requests模块

    requests模块 requests模块是python中原生的基于网络请求的模块,其主要作用是用来模拟浏览器发起请求.功能强大,用法简洁高效.在爬虫领域中占据着半壁江山的地位. 如何使用reques ...

  3. python网络编程socketserver模块(实现TCP客户端/服务器)

    摘录python核心编程 socketserver(python3.x版本重新命名)是标准库中的网络编程的高级模块.通过将创建网络客户端和服务器所必须的代码封装起来,简化了模板,为你提供了各种各样的类 ...

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

    有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/env ...

  5. python 网络编程--socket模块/struct模块

    socket模块: 客户端:CS架构,  client -> server 浏览器:BS架构,  browser -> server 网络通信本质:传输字节 doc命令查看ip地址:ipc ...

  6. python网络编程-paramiko模块

    paramiko模块 该模块基于SSH用于连接远程服务器并执行相关操作 参考文档 SSHClient 用于连接远程服务器并执行命令 import paramiko #创建SSH对象 ssh = par ...

  7. python网络编程-socketserver模块

    使用socketserver 老规矩,先引入import socketserver 必须创建一个类,且继承socketserver.BaseRequestHandler 这个类中必须重写handle( ...

  8. 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块

    孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...

  9. Python 网络编程(二)

    Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...

随机推荐

  1. Beyond Compare 4提示已经过了30天试用期

    打开Beyond Compare 4,提示已经超出30天试用期限制,解决方法:1.修改C:\Program Files\Beyond Compare 4\BCUnrar.dll ,这个文件重命名或者直 ...

  2. C# LINQ标准查询操作符

    首先添加数据集合 [Serializable] public class Racer : IComparable<Racer>, IFormattable { public Racer() ...

  3. ELK---- Elasticsearch 安装 学习

    elk  = 分布式系统收集管理多台服务器日志,并能快速做增删改查操作的几个工具集合简称. elasticsearch(存储日志)+logstash(收集日志)+kibana(展示数据) 在linux ...

  4. js里url里有特殊字符(如&)情况,后台request.getParameter("url")里&变成&

    js:encodeURIComponent(url) //用encodeURIComponent转码 java后台:用java.net.URLDecoder.decode((request.getPa ...

  5. ueditor实现ctrl+v粘贴word图片并上传

    图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码 目前限chrome浏览器使用,但是项目要求需要支持所有的浏览器,包括Windows和macOS系统.没有办 ...

  6. JS对象-不可扩展对象、密封对象、冻结对象

    不可扩展对象 Object.preventExtensions() 仅阻止添加自身的属性.但属性仍然可以添加到对象原型. 可以用 Object.isExtensible(obj) 来判断对象是否可扩展 ...

  7. 7月清北学堂培训 Day 5

    今天是钟皓曦老师的讲授~ 动态规划 动态规划的三种实现方法: 1.递推: 2.递归: 3.记忆化: 举个例子: 斐波那契数列:0,1,1,2,3,5,8…… Fn = Fn-1 + Fn-2 1.我们 ...

  8. Selenium处理授权框,登录框,握手框

    在Web自动化中,常常遇到三种弹框: JavaScript警告框,如alert,confirm,prompt等,如下图: 处理方法为driver.switch_to.alert().dismiss() ...

  9. CF1214A

    CF1214A 题意: 有n个卢布,要换成美元和欧元,使手上剩余的卢布最少.一美元价值d卢布,一欧元价值e卢布. 解法: 可以看成只有两个没有代价的可以无限取的物品的完全背包. CODE: #incl ...

  10. Atcoder ABC 139C

    Atcoder ABC 139C 题意: 有 $ n $ 个正方形,选择一个起始位置,使得从这个位置向右的小于等于这个正方形的高度的数量最多. 解法: 简单递推. CODE: #include< ...