Python Requests 學習 筆記

2021-08-14 13:43:59 字數 2409 閱讀 9129

在做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...