1、HTTP代理_配合Burp截断进行HTTP请求
-
代理设置有两种HTTP或HTTPS
-
参数设置
一般为proxy,proxies(复数形式)
一般格式为 s.get(url,proxy)proxies={‘http’:‘http://127.0.0.1:8080’,‘https’:‘https://127.0.0.1:8080’}
这里的IP是你的BurpSuite所在的电脑地址,端口就是截断的端口,8080为一般BurpSuite使用的端口 -
证书认证设置
verify = False
防止因为有些网站证书过期或者没有进行证书认证,因此为防止证书错误而影响结果 ,直接将认证设定为False这里进行示例脚本发送请求,示例代码如下
import requests
url = 'http://www.baidu.com'
proxies = {'http':'http://127.0.0.1:8080','https':'https:127.0.0.1:8080'}
r = requests.get(url,proxies=proxies,verify = False)
print(r.status_code)
查看BurpSuite界面
这里显示已向百度发送请求,且代理为本机,这里进行放包
发现得到状态码,当然也可以进行其他信息抓取
2、python 会话编程
-
携带cookie的会话
当访问某些页面时,会通过Set-Cookies设置Cookie值,以便下一次访问自动提交Cookie进行身份验证
设置python-session
s = s.session.get(url)
用此段代码进行会话管理,下面是示例代码
import requests
url = 'https://www.baidu.com'
s = requests.session().get(url)
print(s.cookies)
print(s.headers)
此段代码对百度进行cookie得获取以及请求头得获取,如果与一个网站从进行过会话,可能你直接进行请求头得获取,是获取不到cookie的,因为第一次的请求,客户端会进行Cookie的建立,从而方便下一次的身份验证,因此,如果你想获取一个进行身份认证的网站,你只需要再一次提交请求就行了
实现代码
import requests
url = 'https://www.baidu.com'
s = requests.session().get(url)
print(s.cookies)
print(s.headers)
s1 = requests.session().get(url)
print(s1.cookies)
print(s1.headers)