python—http代理(与burp交互)
打开burp设置好代理
import requests
url = "https://www.baidu.com"
# 127.0.0.1 此处本地的地址都是http://127.0.0.1:8080
proxies = {'https': 'http://127.0.0.1:8080', 'http': 'http://127.0.0.1:8080'}
r = requests.get(url, proxies=proxies, verify=False)
print(r.status_code)
burp开启拦截,当放包后出现状态码200
python会话编程
import requests
url = "https://www.baidu.com"
# 创建session对象,可以保存Cookie值
s = requests.Session()
r = s.get(url)
print(r.cookies)
# 发送请求,获取cookie,保存在session里
print(r.request.headers)
r1 = s.get(url)
print(r1.request.headers)
-
Session()
在 requests 里,session对象是一个非常常用的对象,这个对象代表一次用户会话:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开。
会话能让我们在跨请求时候保持某些参数,比如在同一个 Session 实例发出的所有请求之间保持 cookie 。
import requests
# 1. 创建session对象,可以保存Cookie值
ssion = requests.session()
# 2. 处理 headers
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}
# 3. 需要登录的用户名和密码
data = {"email":"mr_mao_hacker@163.com", "password":"alarmchime"}
# 4. 发送附带用户名和密码的请求,并获取登录后的Cookie值,保存在ssion里
ssion.post("http://www.renren.com/PLogin.do", data = data)
# 5. ssion包含用户登录后的Cookie值,可以直接访问那些登录后才可以访问的页面
response = ssion.get("http://www.renren.com/410043129/profile")
# 6. 打印响应内容
print response.text
python目录扫描工具
- f.readline() 每次读取一行
- f.readlines() 全部读取出来,读取到对应的列表中
- f.read(10) 读取指定字节10
# 迎风布阵
import requests
f = open("dir.txt", "r")
line1 = f.read(10)
print(line1)
f.close()
with open('dir.txt', 'r') as f:
for line in f.readlines():
print(line.strip())
- 目录扫描
迎风布阵
import requests
import sys
url = sys.argv[1] # 1表示在终端中,输入的第一个参数
with open("dir.txt", "r") as f: # 打开文件
for line in f.readlines(): # 遍历读取出的文件
line = line.strip() # 过滤空格
r = requests.get(url+line) # 拼接url
if r.status_code == 200: # 如果状态码为200,则存在目录
print("url:"+r.url+" exist")