day2抓包&python基礎
抓包:
為什麽要抓包:
1、定位問題
2、篡改請求
3、能測試系統的其他的異常
手機抓包charles:
1、打開charles,必須保證手機和電腦是在一個局域網裏面
2、手機設置代理,服務器寫你電腦的ip,端口號默認是8888
https協議的抓取不到數據,安全協議,需要對應公司自己的證書導入到抓包工具才可以。
模擬弱網測試:可限速的
設置端口:
soupui:
1、sopaui新建一個soap項目
2、在wsdl地址這裏,填上 wsdl接口的地址
3、左邊是請求的數據,右邊是返回的數據
python基礎:
引號:
在python中不區分單引號和雙引號,都可表示一個字符串,單引號與雙引號可互相嵌套使用(單引號裏面可用雙引號,雙引號裏面可用單引號),但不能交叉使用。
註釋:
單行註釋:用#號表示 多行註釋:用三對引號表示,同樣不區分單雙引號
eg:‘‘‘XXXX
ddddddd
eeeeeeee‘‘‘或者
"""dddddddddddddddddd
oooooooooo
pppppppppp"""
格式化:
方法一:+拼接
import datetime
today=datetime.datetime.today()#獲取今天日期
user=‘aa‘
msg="歡迎"+user+"來到我家!"+"今天日期是"+today
方法二:%占位符(推薦方法,不占內存)
name="zhangsan"
print("hello %s,nice to meet you!" %name)
輸出:hello zhangsan,nice to meet you!
age=11
score=86.2656
score=round(score,2)#保四舍五入,留小數點後2位
msg=‘%%你的年齡是%d,你的分數是%.3f‘ %(age,score)#想打印%則要寫兩個%,兩個%則2的倍數為4
print(msg)
占位符%s是字符串 %d是整數 %f是小數(默認小數後6位) %.2f 表示小數後2位小數且自動會四舍五入,註意%後面的點號不要忽略
方法三:
不知道打印的是什麽類型可以用%r或者%s
n=100
print( ‘you print is %r‘ %n)
you print is 100
if條件判斷:
a=2
b=3
if a>b:
print(‘a max‘)
else:
print(‘b max‘)
python沒有像其他語言一樣使用{}表示語句體,通過語句的縮進判斷語句體,縮進默認為4個空格。python中if語句通過==運算符判斷相等,用!=判斷不相等。用in和not in表示包含的關系。
hi=‘hello world‘
if ‘hello‘ in hi:
print(‘contain‘)
else:
print(‘nott contain‘)
if語句可以進行布爾類型的判斷:
a=true
if a:
print(‘a is true‘)
else:
print(‘a is not true‘)
多重if條件判斷:
results=72
if results >=90:
print(‘優秀‘)
elif results >=70:
print(‘良好‘)
elif results >=60:
print(‘及格‘)
else:
print(‘不及格‘)
while循環:while循環,必須有一個計算器來記錄循環次數,循環就是在重復執行循環體裏的代碼
count=0
while count<10:
print(‘打斷點‘)
count+=1 #count=count+1
import random #導入random
num=random.randint(1,100)#產生一個隨機數
count=0
while count<7:
guess=input(‘請輸入你猜的數字:‘)
guess=int(guess)
if guess>num:
print(‘大了‘)
continue
elif guess<num:
print(‘小了‘)
continue #結束本次循環,開始下次循環
else :
print(‘恭喜猜對了‘)
break#立即結束循環
count+=1#count=count+1
else:#循環正常結束後,會執行else
print(‘遊戲次數已用盡,請充值‘)
for循環:for循環比while循環使用率更高,它更簡單靈活,不需要定義計數器,會自動計數的。
for i in ‘hello world‘:
print(i)
h
e
l
l
o
w
o
r
l
d
若需要進行一定次數的循環,則需要用range()函數。
for i in range(5):
print(i)
0
1
2
3
4
range()函數默認從零開始循環,可設置起始位置和步長,比如打印1-10之間的奇數:
for i in range(1,10,2):
print(i)
1
3
5
7
9
range(start,end[,step]):start表示起始位置,end表示結束位置,step表示步長。在python2中range()是一個生成器,xrange()是一個數組,後者在性能上要優於前者因為不需要一上來就開辟一塊很大的內存空間,但它們用法完全相同。而python3中range()與python2中xrange()相同,是一個數組。
數組:(列表)
數組用方括號([])表示,裏面每一項用逗號隔開。
age = 18 #int
name =‘小黑,jj,劉欣,xxxx‘ #字符串
score = 98.35 #float python中沒有double類型
stus = [ ‘jj‘,‘劉欣‘,‘單寶‘ ]
print( type(stus))
print( stus[0] )
#增
stus.append(‘周凡‘) #在列表末尾增加一個元素
stus.insert(0,‘磊磊‘) #在指定位置添加一個元素
# 刪除
stus.pop(2) #刪除指定位置的元素
stus.remove(‘磊磊‘) #刪除指定的元素
del stus[3] #刪除指定位置的元素
#改
stus[1]=‘老王‘ #修改
#查
print(stus[-1])#取值 下標為-1的時候,就取最後一個元素
stus.clear() #清空整個list
stus.append(‘老王‘)
print( stus.count(‘老王‘) )#統計這個元素在list裏面出現了幾次
count = stus.count(‘老王‘)
print(count)
print( stus.index(‘老王‘) ) #返回這個元素第一次出現的下標,如果這個元素在list裏面不存在的話,會報錯
print(stus)
stus.reverse() #反轉
print(stus)
stus2 = [‘高峰‘,‘小王‘,‘張眾一‘]
stus.extend(stus2) #把後面list裏面的值,加入到第一個list裏面
print(stus)
stu3 = stus+stus2 #合並兩個list
print(stu3)
nums = [1,3,8,5,23,24,3,3462,12]
nums.sort(reverse=True) #排序,默認是升序
print(nums)
n = [1,2,3] #1維數組
n2= [ [1,2,3] ,[‘hehe‘] ] #二維數組
my = [[1,2,3,4,5,6],[‘name‘,‘age‘,‘sex‘,‘哈哈‘,[‘小明‘,‘小黑‘,‘小白‘]],890] #3維數組
print(my[1][4][0])
my[1][4].append(‘小紫‘)
my[1][2]=‘性別‘
print(my)
print( len(my) ) #看變量的元素個數,長度
#多維數組
username = input(‘user:‘)
count = stus.count(username)
# print(stus)
# if count>0:
# print(‘該用戶已經存在‘)
if username not in stus:
print(‘不存在‘)
其他:
a=11
print(type(a))#判斷常量類型
類型強制轉換:
name=input(‘請輸入姓名:‘)
age=input(‘請輸入年齡:‘)#input輸入的都是字符串類型
age=int(age) 強制轉化為整數
a=11
a=str(a)強制轉化為字符串
score = 98.52699
socre = round(score,2) #四舍五入保留小數點後2位
input:python2中input()要求用戶輸入的字符串必須加引號,為避免讀取非法字符串類型發生一些危險行為,不得不使用raw_input()代替input().
快速復制一行代碼:ctr+D
Python2代碼有中文會報錯:在代碼第一行寫入下面這行代碼即可。
# -*- coding: utf-8 -*
設置python版本類型:
day2抓包&python基礎