Python 学习笔记(基础语法 restful 、 Flask 和 Requests)
2017-04-30 19:17
781 查看
input 函数
#!/usr/bin/env python3 name = input("\n\n按下 enter 键后退出。") print(name)
print() 在 python3 中是一个函数
a = 1 b = 2 c = 3 print(a) print(b) print(c) d= 100.14 print(d) name = "liwei" print(name)
print("hello python")
定义变量
a = 10b = 2
c = a + b
print(a)
print(b)
print(c)
判断语句
score = 80if score >= 90:
print("优秀")
elif score >= 60:
print("及格")
elif score >= 30:
print("不及格")
else:
print("很差劲了")
注意事项:
1、分号的位置2、每一行都有缩进
3、elif
4、else 后面有分号
循环
for i in range(0,100):print(i)
循环的扩展(字符格式化)
for i in range(0,10):print("Hello {0},{1}".format(i,"liwei zhouguang"))
定义函数
def hello():print("测试方法")
hello()
注意事项:
1、使用 def 定义函数;2、方法名后面跟括号和冒号;
3、调用方法的时候不要缩进
带有参数的函数
curl (一个 Get 方式的网址地址)
restful 设计理念:表现层状态转移
资源:网络上的具体信息
URI:抽象概念,统一资源标识符
URL:具体概念,统一资源定位器
状态转移:
(1)HTTP 协议是一个无状态的协议
所有的状态都要保存在服务器端。
(2)GET、POST、PUT、DELETE
(3)让我们来看一个 RESTFUL 的请求
curl -X GET (一个 GET 方式的网址)
REST 构架设计 6 原则
1、
2、无状态
3、
4、
5、
6、按需编码
flask 非常容易上手,是一个 python 微型的 web 框架
flask.pocoo.org
中文版本的文档:
http://docs.pythontab.com/flask/flask0.10/api.html
http://docs.jinkan.org/docs/flask/
如果有非常浓厚的兴趣,可以自己查看官网文档进行学习。
扩展的部分:http://flask.pocoo.org/extensions/
编写下面这段代码就可以运行一个小小的服务了,这是一个最最简单的使用 python 写的 python 程序
pycharm 里面要新建 flask 模块才可以。from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello liwei!' if __name__ == '__main__': app.run()
服务器运行是这样的:
我们使用
curl工具去访问这个服务,浏览器显示:
以 debug 方式运行这个最最简单的 python 写的 web程序
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): a = 1 b = 'a' c = a + b return 'Hello liwei!' if __name__ == '__main__': app.run(debug=True)
此时,浏览器会显示错误信息,如图所示。
flask console lock 这个问题没有解决。
编写一个最最简单的,具有 restful 风格的 URL,是不是觉得和 SpringMVC 的功能是一样的呢?但是 python 简单得多
from flask import Flask app = Flask(__name__) @app.route("/index/<user>") def hello_world(user): print('你好 %s' % user) return '%s ,welcome' % user if __name__ == '__main__': app.run()
curl -X GET http://127.0.0.1:5000/index/liwei[/code] 此时,控制台显示:四种 http 方法的设置,对比 Spring MVC 是不是特别简单?
from flask import Flask app = Flask(__name__) # 我们修改一下路由 @app.route('/index/<user>',methods=['POST','DELETE']) def hello_world(user): return 'Hello %s!' % user if __name__ == '__main__': app.run(debug=True)
此时,使用浏览器访问 URL 已经不好使了,我们可以通过 postman 或者 curl 这样的工具发送 post 请求。
使用 curl 工具这样访问:curl -X POST http://127.0.0.1:5000/index/liwei[/code] 此时,终端显示:
Chrome 开发者工具介绍
如何使用 Requests 浏览 http 文档。
用 Python 编写,真正的为人类着想。
中文文档地址:
http://cn.python-requests.org/zh_CN/latest/安装 pip 命令,这个命令相当于 Java 的 Maven、Gradle 工具
切换用户到 root,执行命令 su,输入密码。
然后执行sudo easy_install pip
就安装好了。pip install requests
可以安装 requests 模块了。
passwd 可以设置我本机的密码。使用 requests 这个模块
import requests r = requests.post("http://127.0.0.1:5000/index/liwei") r.text
返回的结果是:
接下来,我们在服务端,把客户端的请求信息打印一下:
注意:这里不要写成 requests 了。
很神奇的是,我们发现请求头是 python 的请求头:127.0.0.1 - - [30/Apr/2017 10:54:21] "POST /index/liwei HTTP/1.1" 200 - Content-Length: 0 User-Agent: python-requests/2.13.0 Connection: keep-alive Host: 127.0.0.1:5000 Accept: */* Accept-Encoding: gzip, deflate
如图所示:
这样很容易被发现是 爬虫的请求头 。
我们可以在客户端设置一个 User-Agent ,进行伪装,代码如下:import requests headers = {'User-Agent':"Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1"} r = requests.post("http://127.0.0.1:5000/index/liwei",headers=headers) print type(r.text)
相关文章推荐
- Python学习笔记(一)基础语法
- python基础教程学习笔记---(1)基础语法
- Python 学习笔记(基础语法)
- Python学习笔记——语法基础
- PyCharm学习笔记及Python基础语法总结
- Python学习笔记(一)基础语法
- python 学习笔记之基础语法
- 廖雪峰的Python教程学习笔记一Python简介和基础语法
- Python学习笔记1(基础语法)
- python学习笔记--基础语法
- Python学习的个人笔记(基础语法)
- Python基础语法(学习笔记)
- 01-Python学习笔记-基础语法
- Python学习笔记(一)基础语法
- Python学习笔记(一)基础语法
- Python学习笔记(一):基础语法、变量类型、运算符(快速入门篇)
- Python学习笔记(2):语法基础
- Python学习笔记(一)基础语法
- Python学习的个人笔记(基础语法)
- python学习笔记【1】(第二章:python的基础语法)