python自動化開發-[第十九天]-分頁,cookie,session
阿新 • • 發佈:2017-09-08
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