一、抓包工具

常用的抓包工具有两种:Charles和Fiddler

两者的区别:Charles不分平台,可用于Mac、windows和Linux,而fiddler只能用于windows

共同点:可以抓到PC端的请求,手机设置代理后也可以抓到手机上的请求,也可以修改请求数据和返回数据

*Charles

web端:打开Charles,访问网页既能抓到请求

app:设置代理,手机Wi-Fi,写上本机IP地址和端口号,打开app就能抓到请求(Charles默认端口号为8888)

Charles过滤请求:

抓包时可把抓到对我们没用的请求过滤掉

Charles修改请求和返回值:

1.找到要修改的请求

2.设置断电

3.修改请求/返回

4.重新发送请求

fiddler同Charles一样设置代理,端口号默认8888

fiddler修改请求和返回值

1.找到要修改的请求

2.设置断点

3.修改请求,在发出请求之前设置断点,修改请求/发送

4.修改返回,在获取到返回之前设置断点,修改返回值,再发送

设置返回断点

二、python

1.python是一种面向对象的解释型计算机语言

2.python配置环境变量

把python的安装目录及python安装目录下的scripts目录加入到环境变量中,例:;C:\Python35;C:\Python35\Scripts

3.交互模式下运行python代码

Windows下,安装好python并且配置好环境变量之后,直接在命令行里面输入python就可以进入python交互式命令行,Linux下同windows

以.py结尾命名python文件,在交互模式下运行python文件格式为:python hello.py

windows下运行python文件时需要在指定目录下运行,与Linux不同的是,Linux可以直接运行python文件,只需加上执行权限,在python文件最前面指定python解释器即可

4.第一个小程序:hello world!

5.变量

通俗的说,变量就是用来存东西供后面的来用,用=就能解决,也不需要指定数据类型,直接定义就好,值得一提的是python变量里面存的是内存地址,也就是这个值存在内存里面的哪个地方,如果再把这个变量赋值给另一个变量的话,新的变量通过之前那个变量知道那个变量值的内存地址存起来,而不是指向的之前那个变量

name = 'cathy'
new_name = name # new_name存的也是cathy的内存地址

变量名只能是 字母、数字或下划线的任意组合
变量名的第一个字符不能是数字

不能声明为变量名的关键字

'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 

     'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 
     'try', 'while', 'with', 'yield'

6.python中的单引号、双引号和三引号

python中定义变量的时候字符串都用用引号括起来,单引号和双引号没有区别,如果说这个字符串里面有单引号的话,那你外面就用双引号,里面有双引号的话,外面就用单引号,如果既有单又有双,那么用三引号,三引号也可以多行注释代码

msg = "I'm Sriba." #有单引号,所以外面用双引号
info = 'Python comments ues "#".' ##有双引号,所以外面用单引号
new_msg = '''I'm Sriba, i love "Python".'''#有双引号和双引号,所以外面用三引号
'''
上面的代码是说明单引号、双引号和三引号的
这一段是注释,说明三引号也有多行注释的功能
'''

7.输入、输出

输入函数input,接收的是字符串,输出函数print

name = input('请输入你的姓名:')#把接收到的值赋给name变量
print('name')#输出接收到的输入

input()函数接收到的值,全部都是字符串类型的,如果要和int类型做比较的话,必须用int()把字符串转成int类型的,才能做比较,如:

age = int(input('输入你的年龄:'))

查看变量的类型

print('看age是什么类型:',type(age))

getpass标准库可以隐藏你输入的值,比如密码不想被别人看到,使用getpass.getpass方法就可以在输入的时候,不回显

import getpass #导入getpass模块        
password = getpass.getpass('Please enter your password:') #接收输入的密码
print(password)

8.条件判断if else 条件分支的话使用if、elif、else,格式如下:

if tar_name == s_name:
print('你很帅')
elif tar_name == name2:
print('180大个子')
elif tar_name == name3:
print('帅')
else:
print('你很丑')
if判断时候,都是判断的真或者假,也就是True和False

9.布尔类型有两种:真和假

t = True
f = False

10.循环、遍历、迭代

python里面有两种循环
while
for

count = 8  # 计数器
while count<10:
print('我困了!')
count=count+1#循环体
else:
print('睡醒了。')

#break的用法
退出循环,break只能在循环里面用,如果在循环里面遇到break,那么立即退出循环
count = 0  # 计数器
while count < 10:
print('上班不积极!')
count = count + 1
if count==5:
break
#continue的用法,continue的作用是退出本次循环
count = 0  #计数器
while count<10:
count=count+1
if count == 5:
continue
print('下课%d'%count)
#for循环里面的break

for i in range(10):
print('上课,%s'%i)
if i == 6:
break
#for循环里面的 continue用法
for i in range(10):
if i==7:
continue
print('中午吃什么,%s'%i)

#for循环对应的else,只有当for正常循环结束才会执行
for count in  range(1,11):#顾头不顾尾
print(count)
else:
print('over。。。')

11.记住一句话,非0即真,非空即真

12.小游戏

import random#随机数模块
sub_str=random.randint(1,101) #生成1-100的一个随机数
while 1:#while的意思就是,让它一直为真,也就是死循环,下面通过break来停止循环
num=int(input('plase enter a num , 1-100:'))
if num>100 or num<1: #判断输入的数字是否在1-100之间
print('num error,plase enter 1-100.')
continue
else:
if num==sub_str: #如果猜对了,结束循环
print('You win. game over,the num is %d'%sub_str)#不懂这个的请看下面的第十四,字符串格式化输出
break
elif num < sub_str:#如果猜小了,就跳出本次循环,提示猜小了
print('The num is small,plase enter other num.')
continue
else:#就三种情况,大、小等于,前面两种是等于和小雨,那么else就是大于了,如果猜大了,就跳出本次循环,提示猜大了
print('The num is too big,plase enter other num.')
continue
posted on 2017-05-19 00:58  cathy_y  阅读(14824)  评论(0)    收藏  举报