主要应用urllib和requests模块

urllib模块返回类型为bytes,需要数据类型转换;requests就方便很多。

例子1:发送post请求

 url = 'http://api.nnzhp.cn/api/user/login'
data = {'username':'niuhanyang','passwd':'aA123456'}
req = requests.post(url,data) #发送post请求,第一个参数是url,第二个参数是请求的数据
print(req.json())

例子2:发送get请求

 url = 'http://api.nnzhp.cn/api/user/stu_info?stu_name=小黑马'
req = requests.get(url) #发送get请求
print(req.text) #获取结果
print(req.json()) #获取结果直接就是字典,必须返回的是json串,才能用.json方法。

例子3:入参是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())

例子4:添加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())

例子5:添加header

 url='http://api.nnzhp.cn/api/user/all_stu'
mpp = {'Referer':'http://api.nnzhp.cn/','User-Agent':'Chore'}
res = requests.get(url,headers=mpp)
print(res.json())

例子6:上传文件

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())

例子7:下载文件

 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()

例子8:保存网页

 url = 'http://www.nnzhp.cn/archives/630'
r = requests.get(url)
f = open('nnzhp.html','wb')
f.write(r.content)
f.close()

Python基础学习七 网络编程的更多相关文章

  1. python基础学习笔记——网络编程(协议篇)

    一 互联网的本质 咱们先不说互联网是如何通信的(发送数据,文件等),先用一个经典的例子,给大家说明什么是互联网通信. 现在追溯到八九十年代,当时电话刚刚兴起,还没有手机的概念,只是有线电话,那么此时你 ...

  2. python基础学习19----socket网络编程

    网络通信三要素 ip地址:InetAddress 网络中设备的标识,不易记忆,可用主机名(计算机的标识号) 端口号:用于标识进程的逻辑地址,不同进程的标识(正在运行的软件的标识号) 传输协议:通讯的规 ...

  3. Python之路【第七篇】python基础 之socket网络编程

    本篇文章大部分借鉴 http://www.cnblogs.com/nulige/p/6235531.html python socket  网络编程 一.服务端和客户端 BS架构 (腾讯通软件:ser ...

  4. Python基础-week07 Socket网络编程

    一 客户端/服务器架构 1.定义 又称为C/S架构,S 指的是Server(服务端软件),C指的是Client(客户端软件) 本章的中点就是教大写写一个c/s架构的软件,实现服务端软件和客户端软件基于 ...

  5. java基础学习总结——网络编程

    一.网络基础概念 首先理清一个概念:网络编程 != 网站编程,网络编程现在一般称为TCP/IP编程.

  6. 【java基础学习】网络编程

    网络编程 InetAddress tcp udp

  7. python基础(15)-socket网络编程&socketserver

    socket 参数及方法说明 初始化参数 sk = socket.socket(参数1,参数2,参数3) 参数1:地址簇 socket.AF_INET IPv4(默认) socket.AF_INET6 ...

  8. python基础学习2-easygui框架编程

    #!/usr/bin/env python # -*- coding:utf-8 -*- import easygui as g #导入方式一 #导入方式2 #from easygui import ...

  9. Python基础学习七 Excel操作

    python操作excel,python操作excel使用xlrd.xlwt和xlutils模块, xlrd模块是读取excel的,xlwt模块是写excel的,xlutils是用来修改excel的. ...

随机推荐

  1. SpringBoot_09_使用jar包中配置的Bean(starter配置)

    一.前言 二.配置方式 在 META-INF/spring.factories 中声明主配置类,并开启bean的扫描 三.参考资料 1.Understanding auto-configured be ...

  2. IE6&IE7 bug

    IE6 Bugs 1 .不支持用样式设置 <abbr> 元素 2 .不支持以连字符和下划线开头的 class 和 ID 名 3 . <select> 元素总是出现在堆叠最上面, ...

  3. 交叉编译工具链介绍《Building Embedded Linux Systems》

    1.前言 配置和编译一个合适的GNU工具链是相对复杂的并且需要很精细的操作,包括你需要对不同软件库之间的依赖关系.它们的各自的任务,不同软件库版本情况都有比较好的了解,编译工具链是一个乏味的工作. 2 ...

  4. C++中const指针用法汇总

    这里以int类型为例,进行说明,在C++中const是类型修饰符: int a; 定义一个普通的int类型变量a,可对此变量的值进行修改. const int a = 3;与 int const a ...

  5. 前端基础之jQuery入门 01

    jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Ajax交互, ...

  6. 【后端】Python学习笔记

    主要学习材料:<笨办法学习Python> ,(虫师的博客) 后面根据虫师的Python教程再对Pyhon进行了一次重新学习 ================================ ...

  7. CodeForces - 622F:The Sum of the k-th Powers (拉格朗日插值法求自然数幂和)

    There are well-known formulas: , , . Also mathematicians found similar formulas for higher degrees. ...

  8. HDU3507Print Article (斜率优化DP)

    Zero has an old printer that doesn't work well sometimes. As it is antique, he still like to use it ...

  9. kali视频学习(6-10)

    第三周 kali视频(6-10)学习 6.信息搜集之主机探测 7.信息搜集之主机扫描(nmap使用) 8.信息搜集之指纹识别 9.信息搜集之协议分析 10.漏洞分析之OpenVAS安装 6.信息搜集之 ...

  10. Fillder手机抓包的使用

    1.Fillder下载地址: http://www.onlinedown.net/soft/73207.htm 2.网络设置 手机和电脑需链接网络相同 3.fillder设置 3.1打开fillder ...