寫在前面
在滲透中經常要用到指令碼來驗證漏洞,所以我打算根據漏洞原理,從零開始寫一系列指令碼。但是python2和python3中還是比較糾結,python2的urllib2顯然對這方面更友好一些,但是python2已經是上乙個時代的產物,所以這邊準備使用python3進行編寫。
環境配置
首先要安裝ide,這裡我選用的pycharm,不懂的朋友可以參考這一篇部落格
然後我們再安裝python3.7,自動新增好環境變數以後用pip安裝環境變數
requests的使用
首先我們嘗試用requests獲取乙個網頁的資訊
我們要匯入requests模組
import requests然後嘗試獲取某個網頁
r = requests.get('最後輸出結果')
這就用python3完成了最簡單的get請求了,但是如果我們要傳送post請求要怎麼辦呢?為此我們先搭建乙個php環境用來做python指令碼的測試。
<?php然後我們先執行echo 'post php test';
echo
$_post['a'];
import這個時候的輸出結果是requests
r = requests.get('
')print(r.text)
post php test
然後我們嘗試通過post的方式提交資料到post.php這個檔案,這個時候我們使用的是requests.post,而這個函式則需要帶上post的資料
import輸出結果requests
r = requests.post('
',data=)
print(r.text)
post php testrequests post test
我們會發現用於獲取結果的是r.text,但是在安全工具的開發中,我們往往有時候不需要獲取這些結果集,只需要獲取他的狀態,比如目錄掃瞄工具,我們只需要獲取他的狀態碼。
import requests
r = requests.post('
',data=)
print(
'網頁的響應狀態是:
'+str(r.status_code))
print(
'網頁的內容是:
'+str(r.text))
print(
'網頁的編碼是:
其中response物件有以下屬性:
屬性說明
r.status_code
http請求的返回狀態,若為200則表示請求成功
r.text
http響應內容的字串形式,即返回的頁面內容
r.encoding
從http header 中猜測的相應內容編碼方式
從內容中分析出的響應內容編碼方式(備選編碼方式)
r.content
http響應內容的二進位制形式
r.headers
http的響應頭內容,可以具體到某個響應頭的值
從零開始的Python 3
學!都可以學!1.直接放例項吧qaq 下為求階乘的遞迴 def jc n if n 1 or n 0 return 1 n n jc n 1 return n num jc 10 print num 2.然而函式可以訪問全域性變數但不能修改全域性變數。在函式內宣告全域性變數後才能修改 num 1 d...
從零開始 Python3 學習筆記
感覺有必要學習一門計算機語言,之前學過的計算機語言早已經還給老師了,現在想想實在是浪費 現在算是從零開始學了 在網上查了一下python入門比較簡單,應用面比較廣,好吧,於是就選它吧 短期的目標是做乙個簡單的爬蟲,爬取某網頁上的資料 網上看了一下案例 importurllib.request url...
Python3爬蟲從零開始 庫的安裝
抓取網頁之後下一步就是從網頁中提取資訊。提取方式有很多種,可以利用正規表示式進行提請,但是相對而言比較麻煩繁瑣。現在有很多強大的解析庫供我們使用,如lxml,beautiful soupp,pyquery等。本節對其安裝進行介紹。lxml的安裝 lxml支援html和xml的解析,支援xpath解析...