本篇概要
requests模塊 接觸過Python爬蟲的同學(xué),對requests模塊都不會陌生。這是一個高效便捷快速友好的HTTP請求庫。
requests模塊支持多種HTTP請求方式,基本上涵蓋了HTTP協(xié)議所定義的請求方法:
同時能夠方便地查看請求和響應(yīng)的信息。
下面我們通過寫一個腳本,實際的使用一下requests這個庫。 第一個腳本 第一個例子,我們使用requests庫對上一篇介紹的HTTP請求和響應(yīng)測試網(wǎng)站www.httpbin.org的/ip路徑進行一個GET請求。 運行腳本,結(jié)果返回和瀏覽器上打開的結(jié)果一致的信息:
我們再來訪問一下httpbin.org的跳轉(zhuǎn)重定向鏈接:
這個鏈接會跳轉(zhuǎn)到example.com的網(wǎng)站上。在這里,我們使用params參數(shù)來傳遞重定向的值:
返回了200狀態(tài)碼,表示請求成功:
我們可以再通過requests來看看頭域的信息: 結(jié)果返回了: 設(shè)置請求頭域 默認情況下,requests會使用自己的請求頭,但是我們可以修改它。
httpbin.org提供了一個測試http頭域的工具:/headers:
其會返回客戶端的請求頭。我們直接使用requests.get請求一下,看看返回的結(jié)果:
可以看到,在默認請求下,requests的瀏覽器標(biāo)識為“python-requests/2.18.2”,接受所有類型的響應(yīng):
下面,我們使用requests請求方法中的headers屬性,將我們的請求頭域修改一下,瀏覽器標(biāo)識改為Iphone X:
結(jié)果我們的瀏覽器標(biāo)識成功改成了Iphone X : 提交POST表單 在Web滲透測試之中,表單是測試的一個重點。有表單的地方就有輸入,有輸入的地方就會與服務(wù)器進行交互,有交互的地方就有機會出現(xiàn)漏洞,像經(jīng)典的SQL注入多數(shù)情況下就是通過在輸入框中構(gòu)造SQL語句來達到入侵的效果。 在requests中,我們通過post()方法來進行POST請求,使用它的data屬性來傳輸表單數(shù)據(jù),同樣是利用httpbin.org提供的post測試路徑: 看看返回的結(jié)果: 表單數(shù)據(jù)中,是我們傳輸?shù)膎ame數(shù)據(jù)。 本篇內(nèi)容就此結(jié)束。 有錯誤的地方還望指正,有疑問的地方歡迎留言討論。 感謝閱讀! |
|