1. 程式人生 > >python自動化開發-[第十九天]-分頁,cookie,session

python自動化開發-[第十九天]-分頁,cookie,session

dex delet value ati coo socket客戶端 自定義分頁 blog 協議

今日概要:

  1、cookie和session

  2、csrf 跨站請求偽造

  3、自定義分頁

一、上節回顧:

  http請求的本質:

	- Http請求本質
	瀏覽器(socket客戶端):
		2. socket.connect(ip,端口)
		3. socket.send("http://www.xiaohuar.com/index.html....")
		   規則:http協議
			     GET請求:
					"GET /index.html?k1=1&k2=2 Http/1.1\r\nhost:www.xiaohuar.com\r\ncontent-type:application/json\r\n\r\n"
				 
					請求頭和請求體使用\r\n\r\n分割,前面頭,後面是體
				 POST請求:
					"POST /index.html?k1=1&k2=2 Http/1.1\r\nhost:www.xiaohuar.com\r\ncontent-type:application/json\r\n\r\nusername=alex&pwd=123123"
				 
					請求頭和請求體使用\r\n\r\n分割,前面頭,後面是體
					
				www.xiaohuar.com/index.html?k1=1&k2=2
		6. 獲取相應
			響應頭,響應體 = data.split(‘\r\n\r\n‘)
			
		7. 斷開連接
	網站(socket服務端):
		1. 服務端運行: ip,端口
		4. 字符串 = server.recv()
		
			頭,體 = data.split("\r\n\r\n=")
			
			request.POST.get()
			
		5. 服務端響應:
			conn.send(‘......‘)
			
			響應頭:
			
			響應體:
				
		7. 斷開連接
			
總結:

	a. Http請求中本質都是字符串
	b. Http請求短連接(請求,響應斷開連接)
	c. 請求和響應都有:頭、體
		請求:
			請求頭
			\r\n\r\n
			請求體
		響應:
			響應頭
			\r\n\r\n
			響應體
				<html>
					....
				</html> 

  ORM表操作復習:

	- 創建表: 業務線
	
	- models.xx.objects.create(name=‘canada‘)
	- models.xx.objects.create(**dic)
	
	- models.xx.objects.filter(id__gt=1).delete()
	- models.xx.objects.filter(id=1).delete()
	- models.xx.objects.exclude(id=1).delete()
	
	- models.xx.objects.filter(id=1).update(name=‘ddd‘)
	- models.xx.objects.filter(id=1).update(**dic)
	
	- 創建表: 
		業務線
		主機表
			id host port bs
			
	# queryset = [對象,對象,...]
	- objs = models.xx.objects.all()
	  for row in objs:
		row.id
		row.host
		row.port
		row.bs.name
		
	# queryset = [{},{},...]
	- objs = models.xx.objects.all().values(‘id‘,‘host‘,‘port‘,‘bs__name‘)
	  for row in objs:
		row[‘id‘]
		row[‘bs__name‘]
		
	# queryset = [(1,1.1.11,80,‘Web‘),(),()...]
	- objs = models.xx.objects.all().values_list(‘id‘,‘host‘,‘port‘,‘bs__name‘) #正向查找bs的名字
	  for row in objs:
		row[0]
		row[1]
			
model操作	
	- 創建表: 
		用戶表(id, user,pwd,email,mm)
		業務線(id, name) # 用戶表_set
		主機表(id host port bs)
		用戶業務線關系表(id  uid  bid)   ******
					      1   22    1
					      2   22    11
	-   obj = modes.userinfo.objects.filter(user=‘日語哥‘).first()
		obj.mm.add(1)
		obj.mm.add(11)
		# 日語哥負責的所有業務線 -> [業務線對象,業務線對象,]
		queryset = obj.mm.all() 
		for row in queryset:
			row.id
			row.name
		
		
	- 二手車業務線是由那些人負責 通過對象_set方法進行反向查找
		obj = models.business_unit.objects.filter(name=‘二手車‘).first()
		queryset = obj.userinfo_set.all() #[用戶對象,用戶對象,]
		for row in queryset:
			row.user
			row.pwd

  

  

    

python自動化開發-[第十九天]-分頁,cookie,session