本文结束使用 Requests 发送网络请求。requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到。可以说,Requests 完全满足如今网络的需求。

安装方式一般采用$ pip install requests。

一开始要导入 Requests 模块:

import requests

发送get请求

url = 'http://api.xxx.com/api/user/stu_info?stu_name=小黑马'

req = requests.get(url) #发送get请求

print(req.text) #获取结果

print(req.json()) #获取结果直接就是字典,必须返回的是json串,才能用.json方法。

发送post请求

url = 'http://api.xxx.com/api/user/login'

data = {'username':'xiaohei','passwd':'aA123456'}

req = requests.post(url,data) #发送post请求,第一个参数是url,第二个参数是请求的数据

print(req.json())

入参是json的

url = 'http://api.xxx.com/api/user/add_stu'

data = {'name':'丁飞','grade':'巨蟹座','phone':31971891223}

req = requests.post(url,json=data) #发送post请求,第一个参数是url,第二个参数是请求的数据

print(req.json())

添加cookie

url = 'http://api.xxx.com/api/user/gold_add'

data = {'stu_id':231,'gold':1000}

cookie = {'xiaohei':'6d195100b95a43046d2e385835c6e2c2'}

req = requests.post(url,data,cookies=cookie)

print(req.json())

添加header

url='http://api.xxx.com/api/user/all_stu'

mpp = {'Referer':'http://api.xxx.com/','User-Agent':'Chore'}

res = requests.get(url,headers=mpp)

print(res.json())

上传文件

url = 'http://api.xxx.com/api/file/file_upload'

f = open(r'C:\Users\bjxiaohei\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.xxx.com/archives/630'

r = requests.get(url)

f = open('xxx.html','wb')

f.write(r.content)

f.close()

python学习笔记(十二)-网络编程的更多相关文章

  1. Python学习笔记(十二)—Python3中pip包管理工具的安装【转】

    本文转载自:https://blog.csdn.net/sinat_14849739/article/details/79101529 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...

  2. 吴裕雄--天生自然python学习笔记:Python3 网络编程

    Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的全部方法. 高级别的网络 ...

  3. python 学习笔记(十二) 文件和序列化

    python 文件读写和序列化学习.## python文件读写`1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ` ...

  4. python 学习笔记十二 html基础(进阶篇)

    HTML 超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准,它通过标记符号来标记要显示的网页中的各个部分.网页文件本身 是一种文本文件,通过在文本文件中添加标记符, 可以告诉浏览 ...

  5. Python学习笔记十二

    HTML全称:Hyper Text Markup Language超文本标记语言 不是编程语言 HTML使用标记标签来描述网页 2.  HTML标签 开始标签,结束标签.  例如:<html&g ...

  6. python学习笔记(十 二)、操作数据库

    每一种语言都少不了多数据库进行各种操作. python支持多种数据库.有关python支持的数据库清单,请参阅:https://wiki.python.org/moin/DatabaseInterfa ...

  7. python学习笔记十二:类的定义

    demo #!/usr/bin/python class Person: name = 'jim' age = 25 def say(self): print 'My name is ' + self ...

  8. python 学习笔记十二 CSS基础(进阶篇)

    1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中,是为了解决内容与 ...

  9. python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL

    python3.4学习笔记(十二) python正则表达式的使用,使用pyspider匹配输出带.html结尾的URL实战例子:使用pyspider匹配输出带.html结尾的URL:@config(a ...

随机推荐

  1. linux ftp ubuntu18.04 实测有效 完整方法 vsftpd

    https://linuxize.com/post/how-to-setup-ftp-server-with-vsftpd-on-ubuntu-18-04/ 除了此链接完整有效,其他网友 大都残缺不全 ...

  2. C#/VB.NET 将PDF转为OFD

    OFD,全称Open Fixed-layout Document ,是一种可存储.读取以及编辑的国家标准版式的电子文档格式,属于中国的一种自主文件格式,在安全性上有可靠保证.为突破国外技术在我们软硬件 ...

  3. vue项目接口管理,所有接口都在apis文件夹中统一管理

    参考:https://www.codercto.com/a/53432.html 在vue开发中,会涉及到很多接口的处理,当项目足够大时,就需要定义规范统一的接口,如何定义呢? 方法可能不只一种,本文 ...

  4. C++面试题(四)——智能指针的原理和实现

    C++面试题(一).(二)和(三)都搞定的话,恭喜你来到这里,这基本就是c++面试题的最后一波了.     1,你知道智能指针吗?智能指针的原理.     2,常用的智能指针.     3,智能指针的 ...

  5. 演练:创建和使用自己的动态链接库 (C++)

    此分布演练演示如何使用 Visual Studio IDE 通过 Microsoft C++ (MSVC) 编写自己的动态链接库 (DLL). 然后,该演练演示如何从其他 C++ 应用中使用 DLL. ...

  6. mac下编译安装grafana

    下载grafana源码 从grafana git 仓库下载指定的分支. 编译后端 我下载的时候,grafana的最新release是7.3.7,其需要安装go 1.15版本 生成可执行文件 进入项目根 ...

  7. freeswitch新增模块

    概述 freeswitch的架构由稳定的核心模块和大量的外围插件式模块组成.核心模块保持稳定,外围模块可以动态的加载/卸载,非常灵活方便. 外围模块通过核心提供的 Public API与核心进行通信, ...

  8. mybaits源码分析--自定义插件(七)

    一.MyBatis插件 插件是一种常见的扩展方式,大多数开源框架也都支持用户通过添加自定义插件的方式来扩展或者改变原有的功能,MyBatis中也提供的有插件,虽然叫插件,但是实际上是通过拦截器(Int ...

  9. vue + WangEnduit

    components 注册组件 <template lang="html"> <div class="editor"> <div ...

  10. noip模拟43

    A. 第一题 儿子遍历顺序按深度由小到大即可 B. 第二题 二分最小值,以点权作为初始距离跑最长路即可 直接用大根堆跑 \(dij\) 会 \(T\),考虑初始权值可以处理,且边权一定,用类似蚯蚓的方 ...