在做web題目的時候看到一道這樣的題,要讓我迅速提交,看到別人的writeup 發現要寫python指令碼,於是就來學一下python requests
題目連線
——來自網路安全實驗室
該文件的內容來自 pyhon requests 快速入門
r=requests.get("網域名稱")
其他玩法
r=requests.put()
r=requests.delete()
等等,其他的head,options也是一樣的。
>>> payload =
>>> r = requests.get("http://***/get", params=payload)
通過print url ,可以發現url已經被正確編碼。
通過r.text 和r.encoding 可以改變文字編碼
二進位制的話,則用content來寫
requests 內建json編譯器,通過requests.json() 能夠處理json資料
初始請求中,加上r = requests.get(「」,stream =true)
那麼,就能用r.raw.read(位元組數)來獲取原始套接字、
這裡直接拷貝**了,其實就是構造乙個請求頭嘛
>>>
import json
>>> url = ''
>>> payload =
>>> r = requests.post(url, data=json.dumps(payload), headers=headers)
同樣的方法,也可以用來定製post請求。
>>> payload =
>>> r = requests.post("", data=payload)
>>> print r.text
, ...
}
requests使得上傳多部分編碼檔案變得很簡單:
>>> url = ''
>>> files =
>>> r = requests.post(url, files=files)
>>> r.text
, ...
}
如果你想,你也可以傳送作為檔案來接收的字串:
>>> url = ''
>>> files =
>>> r = requests.post(url, files=files)
>>> r.text
, ...
}
通過r.status_code 列印狀態碼
如果傳送了失敗請求,那麼可以用 response.raise_for_status()來丟擲異常
看到這裡,我感覺這個就是burpsuite中的http history + 改包嚒
只不過使用指令碼的形式。
r.headers可以看響應頭。
可以通過r.cookies快速訪問cookies,傳送的是時候可以用cookies引數。
>>> url = ''
>>> r = requests.get(url)
>>> r.cookies['example_cookie_name']
'example_cookie_value'
>>> url = ''
>>> cookies = dict(cookies_are='working')
>>> r = requests.get(url, cookies=cookies)
>>> r.text
'}'
所以接下來我們來解題!
現在學了requests後,就可以寫指令碼來快速提交了。(我感覺我的手速能夠在2s內,但是好像函式不是這麼設定的。)
閒話不多少,直接上**
#coding=utf-8
import requests,re
deffunction1
(): s = requests.session()
url = ''
html = s.get(url).content #這個算數是動態的,別忘了
reg = r'([0-9].+)=<'
pattern = re.compile(reg)
match = re.findall(pattern,html)
payload = #通過截獲包裹知道變數名是v
print s.post(url, data=payload).content
get flag
後來又遇到了一道這樣的題目,來自實驗吧 實驗吧——程式設計題——百公尺賽跑
感興趣的可以做一下
Python Requests 學習筆記
一直想用 python 做點網路相關的東西,找了下,發現了 requests 庫,現記錄下學習筆記。requests 是什麼 requests 入門 requests 提高 首先,requests 是什麼。requests是乙個封裝了 http 操作和請求的庫,可以很方便的抓取網頁的內容,囧,這個是...
python requests傳送json格式資料
requests是常用的請求庫,不管是寫爬蟲指令碼,還是測試介面返回資料等。都是很簡單常用的工具。但是,我們寫程式的時候,最常用的介面post資料的格式是json格式。當我們需要post json格式資料的時候,怎麼辦呢,只需要新增修改兩處小地方即可。詳見如下 import requests imp...
Python requests基本使用
requests安裝 pip install requests使用前需要匯入 import requests模擬瀏覽器向指定 傳送get請求,需要注意一般 都有反爬蟲機制會判斷請求頭部的資料,這時需要自己定製請求頭資料,然後再請求的時候加上頭部資料 response requests.get www...