请求和响应


http协议里需要关注的

请求需要关注的东西 requests

url : 告诉浏览器,你要去哪里

Method:

? get:传递数据:?&拼在url后面

? 数据:url?key=value&key=value

? post:

? 请求体:

? form data

? 文件类型files

? json

headers:

? cookie:保存用户登录状态

? User-Agent:告诉服务器你是谁

? refere:告诉服务器你从哪里来

? 服务器规定的特殊字段

2.2 请求需要关注的东西 response

Status Code:

? 2xx

? 请求成功(不一定)---后台程序员自己规定的---不能用作请求成功的唯一判断标准

? 3xx

? 重定向

响应头:

? location:重定向地址

? set_cookie:设置cookie

? 服务器规定的特殊字段

响应体:

? 1.html代码(css,html,js)

? 2.json

? 3.二进制(图片,视频,音频)

3、 常用请求库、解析库、数据库的用法

3.1 常用请求库 测试网站:http://httpbin.org/get

request库

? 安装:pip install requests

? 使用

? 请求

? ①get请求:

				响应对象 = requests.get(......)

?				**参数:**

?					url:

?					headers = {}

?					cookies = {}        优先级低于headers里的cookie字段

?					params = {}	

?					proxies = {'http':‘http://ip:端口’}

?					timeout = 0.5

?					allow_redirects = True

? ②post请求:

				响应对象 = requests.post(......)

?				**参数:**

?					url:

?					headers = {}

?					cookies = {}

?					data = {}

?					json = {}

?					files = {‘file’:open(...,‘rb’)}

?					timeout = 0.5

?					allow_redirects = False

? 自动保存cookie的请求:

			session = requests.session()

?			r = session.get(......)

?			r = session.post(......)
	  补充:(保存cookie到本地)
	  	import http.cookiejar as cookielib
	  	session.cookie = cookielib.LWPCookieJar()
	  	session.cookie.save(filename='1.txt')
	  	
	  	session.cookies.load(filename='1.txt')

? 响应:

			r.url

?			r.text    常用

?			r.encoding = 'gbk'    常用

?			r.content     常用

?			r.json()      常用
 
?			r.status_code    用的少

?			r.headers  

?			r.cookies  

?			r.history