抓包神器之 Charles 功能介紹和使用教程
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
Charles 簡(jiǎn)介 Charles 是在 PC 端常用的網(wǎng)絡(luò)封包截取工具,在做移動(dòng)開發(fā)時(shí),我們?yōu)榱苏{(diào)試與服務(wù)器端的網(wǎng)絡(luò)通訊協(xié)議,常常需要截取網(wǎng)絡(luò)封包來(lái)分析。除了在做移動(dòng)開發(fā)中調(diào)試端口外,Charles 也可以用于分析第三方應(yīng)用的通訊協(xié)議。配合 Charles 的 SSL 功能,Charles 還可以分析 Https 協(xié)議。 Charles 通過(guò)將自己設(shè)置成系統(tǒng)的網(wǎng)絡(luò)訪問(wèn)代理服務(wù)器,使得所有的網(wǎng)絡(luò)訪問(wèn)請(qǐng)求都通過(guò)它來(lái)完成,從而實(shí)現(xiàn)了網(wǎng)絡(luò)封包的截取和分析。 Charles 是收費(fèi)軟件,可以免費(fèi)試用 30 天。試用期過(guò)后,未付費(fèi)的用戶仍然可以繼續(xù)使用,但是每次使用時(shí)間不能超過(guò) 30 分鐘,并且啟動(dòng)時(shí)將會(huì)有 10 秒種的延時(shí)。因此,該付費(fèi)方案對(duì)廣大用戶還是相當(dāng)友好的,即使你長(zhǎng)期不付費(fèi),也能使用完整的軟件功能。只是當(dāng)你需要長(zhǎng)時(shí)間進(jìn)行封包調(diào)試時(shí),會(huì)因?yàn)?Charles 強(qiáng)制關(guān)閉而遇到影響。 harles 主要的功能包括:
下載安裝 Charles Charles 支持的操作系統(tǒng)包括:
打開瀏覽器訪問(wèn) Charles 官網(wǎng) ,下載相應(yīng)系統(tǒng)的 Charles 安裝包,然后安裝即可:
如果使用 Firefox,也可以下載 Firefox 插件。參考Firefox Add-On Charles 主界面介紹 Charles 的主界面視圖如下圖所示: 工具導(dǎo)航欄Charles 頂部為菜單導(dǎo)航欄,菜單導(dǎo)航欄下面為工具導(dǎo)航欄。視圖如下圖所示:
工具導(dǎo)航欄中提供了幾種常用工具:
主界面視圖Charles 主要提供兩種查看封包的視圖,分別名為 Structure 和 Sequence。
使用時(shí)可以根據(jù)具體的需要在這兩種視圖之前來(lái)回切換。請(qǐng)求多了有些時(shí)候會(huì)看不過(guò)來(lái),Charles 提供了一個(gè)簡(jiǎn)單的 Filter 功能,可以輸入關(guān)鍵字來(lái)快速篩選出 URL 中帶指定關(guān)鍵字的網(wǎng)絡(luò)請(qǐng)求。 對(duì)于某一個(gè)具體的網(wǎng)絡(luò)請(qǐng)求,你可以查看其詳細(xì)的請(qǐng)求內(nèi)容和響應(yīng)內(nèi)容。如果請(qǐng)求內(nèi)容是 POST 的表單,Charles 會(huì)自動(dòng)幫你將表單進(jìn)行分項(xiàng)顯示。如果響應(yīng)內(nèi)容是 JSON 格式的,那么 Charles 可以自動(dòng)幫你將 JSON 內(nèi)容格式化,方便你查看。如果響應(yīng)內(nèi)容是圖片,那么 Charles 可以顯示出圖片的預(yù)覽。 Charles 菜單介紹 Charles 的主菜單包括:File、Edit、View、Proxy、Tools、Window、Help。用的最多的主菜單分別是 Proxy 和 Tools。 Proxy 菜單Charles 是一個(gè) HTTP 和 SOCKS 代理服務(wù)器。代理請(qǐng)求和響應(yīng)使 Charles 能夠在請(qǐng)求從客戶端傳遞到服務(wù)器時(shí)檢查和更改請(qǐng)求,以及從服務(wù)器傳遞到客戶端時(shí)的響應(yīng)。下面主要介紹 Charles 提供的一些代理功能。Proxy 菜單的視圖如下圖所示:
Proxy 菜單包含以下功能:
Recording Settings(記錄會(huì)話設(shè)置) Recording Settings 和 Start/Stop Recording 配合使用,在 Start Recording 的狀態(tài)下,可以通過(guò) Recording Settings 配置 Charles 的會(huì)話記錄行為。Recording Settings 的視圖如下圖所示: Recording Settings 有 Options、Include、Exclude 三個(gè)選項(xiàng)卡:
Include 和 Exclude 選項(xiàng)卡的操作相同,選擇 Add,然后填入需要監(jiān)控的Procotol、Host 和 Port等信息,這樣就達(dá)到了過(guò)濾的目的。如下圖所示: 還有一種方法就是在一個(gè)請(qǐng)求網(wǎng)址上右擊選擇 Focus,然后其他的請(qǐng)求就會(huì)被放到一個(gè)叫 Other Host 的分類里面,這樣也達(dá)到了過(guò)濾的目的。 Throttle Settings(節(jié)流設(shè)置) Throttle Settings 和 Start/Stop Throttling 配合使用,在 Start Throttling 的狀態(tài)下,可以通過(guò) Throttle Settings 配置 Charles 的網(wǎng)速模擬配置。Throttle Settings 的視圖如下圖所示:
勾選 Enable Throttling 啟用網(wǎng)速模擬配置,在 Throttle Preset 下選擇網(wǎng)絡(luò)類型即可,具體設(shè)置可以根據(jù)實(shí)際情況自行設(shè)置。如果只想模擬指定網(wǎng)站的慢速網(wǎng)絡(luò),可以再勾選上圖中的 Only for selected hosts 項(xiàng),然后在對(duì)話框的下半部分設(shè)置中增加指定的 hosts 項(xiàng)即可。 Throttle Settings 視圖中的選項(xiàng)含義如下:
Breakpoint Settings(斷點(diǎn)設(shè)置) Breakpoint Settings 和 Enable/Disable Breakpoints 配合使用,在 Enable Breakpoints 的狀態(tài)下,可以通過(guò) Breakpoint Settings 配置 Charles 的斷點(diǎn)模式。Breakpoint Settings 的視圖如下圖所示: 勾選 Enable Breakpoints 啟用斷點(diǎn)模式,選擇 Add,然后填入需要監(jiān)控的Scheme、Procotol、Host 和 Port 等信息,這樣就達(dá)到了設(shè)置斷點(diǎn)的目的。然后可以來(lái)觀察或者修改請(qǐng)求或者返回的內(nèi)容,但是在這過(guò)程中需要注意請(qǐng)求的超時(shí)時(shí)間問(wèn)題?;蛘呖梢栽谀硞€(gè)想要設(shè)置斷點(diǎn)的請(qǐng)求網(wǎng)址上右擊選擇 Breakpoints 來(lái)設(shè)置斷點(diǎn)。 Reverse Proxies Settings(反向代理設(shè)置) 反向代理在本地端口上創(chuàng)建 Web 服務(wù)器,該端口透明地將請(qǐng)求代理給遠(yuǎn)程 Web 服務(wù)器。反向代理上的所有請(qǐng)求和響應(yīng)都可以記錄在 Charles 中。 如果您的客戶端應(yīng)用程序不支持使用 HTTP 代理,或者您希望避免將其配置為使用代理,那么反向代理很有用。創(chuàng)建原始目標(biāo) Web 服務(wù)器的反向代理,然后將客戶端應(yīng)用程序連接到本地端口; 反向代理對(duì)客戶端應(yīng)用程序是透明的,使您可以查看 Charles 以前可能無(wú)法訪問(wèn)的流量。 有關(guān)反向代理的更多信息,請(qǐng)?jiān)L問(wèn) Reverse proxy Port Forwarding Settings(端口轉(zhuǎn)發(fā)) 可以將任何 TCP/IP 或 UDP 端口配置為使用 Port Forwarding 工具從 Charles 轉(zhuǎn)發(fā)到遠(yuǎn)程主機(jī)。這樣可以調(diào)試 Charles 中的任何協(xié)議。 在 Macromedia Flash 中調(diào)試 XMLSocket 連接時(shí),這尤其有用。 還可以使用 Charles 作為 SOCKS 代理,因此無(wú)需設(shè)置端口轉(zhuǎn)發(fā)。 Windows Proxy(記錄計(jì)算機(jī)上的所有請(qǐng)求) 如果想要抓取電腦端的請(qǐng)求,勾選 Windows Proxy 選項(xiàng)即可;如果只需要抓取手機(jī)請(qǐng)求,則取消勾選這個(gè)選項(xiàng)。 Proxy Settings(代理設(shè)置) Proxy Settings 的視圖如下圖所示: 代理端口默認(rèn)為 8888(可以修改),并且勾上 Enable transparent HTTP proxying 就完成了在 Charles 上的代理設(shè)置。 SSL Proxy Settings(SSL 代理設(shè)置) SSL Proxy Settings 的視圖如下圖所示: 勾上 Enable SSL proxying 就完成了在 Charles 上的 SSL 代理設(shè)置。之后也可以選擇 Add,然后填入需要監(jiān)控的 Host 和 Port 信息,這樣就達(dá)到了針對(duì)某個(gè)域名啟用 SSL 代理的目的。 Access Control Settings(訪問(wèn)控制設(shè)置) Access Control Settings 表示訪問(wèn)控制設(shè)置。訪問(wèn)控制列表確定誰(shuí)可以使用此 Charles 實(shí)例。通常,您在自己的計(jì)算機(jī)上運(yùn)行 Charles,并且您只打算自己使用它,因此 localhost 始終包含在訪問(wèn)控制列表中。也可以選擇 Add,然后填入允許訪問(wèn)的 IP,這樣就達(dá)到了允許某個(gè) IP 訪問(wèn) Charles 的目的。 External Proxy Settings(外部代理設(shè)置) External Proxy Settings 表示外部代理設(shè)置??赡茉诰W(wǎng)絡(luò)上有一個(gè)代理服務(wù)器,必須使用該代理服務(wù)器才能訪問(wèn) Internet。在這種情況下,需要將 Charles 配置為在嘗試訪問(wèn) Internet 時(shí)使用現(xiàn)有代理。 可以配置單獨(dú)的代理地址和端口:
Web Interface Settings(Web 界面設(shè)置) Web Interface Settings 表示 Web 界面設(shè)置。Charles 有一個(gè) Web 界面,可以讓您從瀏覽器控制 Charles,或使用 Web 界面作為 Web 服務(wù)使用外部程序。 在 External Proxy Settings 視圖中勾選 Enable the web interface 選項(xiàng)啟用 Web 界面??梢栽试S匿名訪問(wèn),也可以配置用戶名和密碼。還可以通過(guò)在配置使用 Charles 作為其代理的 Web 瀏覽器中訪問(wèn) http://control.charles/ 來(lái)訪問(wèn) Web 界面。 Web界面提供對(duì)以下功能的訪問(wèn):
通過(guò)檢查 Web 界面 HTML ,您可以推導(dǎo)出如何將其用作 Web 服務(wù)來(lái)自動(dòng)化 Charles。 Tools 菜單Charles 是一個(gè) HTTP 和 SOCKS 代理服務(wù)器,所有的請(qǐng)求都會(huì)經(jīng)過(guò) Charles。下面主要介紹 Charles 提供的一些實(shí)用工具。Tools 菜單的視圖如下圖所示:
Tools 菜單包含以下功能:
No Caching Settings(禁用緩存) No Caching 工具可防止客戶端應(yīng)用程序(如 Web 瀏覽器)緩存任何資源。因此,始終向遠(yuǎn)程網(wǎng)站發(fā)出請(qǐng)求,您始終可以看到最新版本。 適用范圍 該工具可以作用于每個(gè)請(qǐng)求(選中 Enable No Caching 即可),也可以僅對(duì)你配置的請(qǐng)求啟用(啟用 No Caching 的同時(shí),請(qǐng)選中 Only for selected locations)。當(dāng)用于選定的請(qǐng)求時(shí),可以使用簡(jiǎn)單但功能強(qiáng)大的模式匹配將工具的效果限制為指定的主機(jī)和路徑。 工作原理 No Caching 工具通過(guò)操縱控制響應(yīng)緩存的 HTTP 請(qǐng)求頭來(lái)防止緩存。從請(qǐng)求中刪除 If-Modified-Since 和 If-None-Match 請(qǐng)求頭,添加 Pragma:no-cache 和 Cache-control:no-cache。從響應(yīng)中刪除 Expires,Last-Modified 和ETag 請(qǐng)求頭,添加 Expires:0 和 Cache-Control:no-cache。 Block Cookies Settings(禁用 Cookie) Block Cookies 工具阻止了 Cookie 的發(fā)送和接收。它可用于測(cè)試網(wǎng)站,就像在瀏覽器中禁用了 Cookie 一樣。 請(qǐng)注意,網(wǎng)絡(luò)爬蟲(例如 Google)通常不支持 Cookie,因此該工具還可用于模擬網(wǎng)絡(luò)爬蟲網(wǎng)站的視圖。 適用范圍 該工具可以作用于每個(gè)請(qǐng)求(選中 Enable Block Cookies 即可),也可以僅對(duì)你配置的請(qǐng)求啟用(啟用 Block Cookies 的同時(shí),請(qǐng)選中 Only for selected locations)。當(dāng)用于選定的請(qǐng)求時(shí),可以使用簡(jiǎn)單但功能強(qiáng)大的模式匹配將工具的效果限制為指定的主機(jī)和路徑。 工作原理 Block Cookies 工具通過(guò)操縱控制響應(yīng) Cookies 的 HTTP 請(qǐng)求頭來(lái)禁用 Cookies。從請(qǐng)求中移除 Cookie 請(qǐng)求頭,防止 Cookie 值從客戶端應(yīng)用程序(例如 Web 瀏覽器)發(fā)送到遠(yuǎn)程服務(wù)器。從響應(yīng)中刪除 Set-Cookie 請(qǐng)求頭,防止請(qǐng)求設(shè)置客戶端應(yīng)用程序從遠(yuǎn)程服務(wù)器接收的 Cookie。 Map Remote Settings(遠(yuǎn)程映射) Map Remote 工具根據(jù)配置的映射更改請(qǐng)求站點(diǎn),以便從新站點(diǎn)透明地提供響應(yīng),就好像這是原始請(qǐng)求一樣。 通過(guò)此映射,您可以從另一個(gè)站點(diǎn)提供全部或部分站點(diǎn)。例如:
使用建議 如果您擁有站點(diǎn)的開發(fā)版本并且希望能夠通過(guò)開發(fā)提供的某些請(qǐng)求瀏覽實(shí)時(shí)站點(diǎn),則 Map Remote 非常有用。例如,您可能希望從開發(fā)服務(wù)器提供 css 和 images 目錄。使用 live.com/css/ 等映射到 dev.com/css/ 或 live.com/*.css 到 dev.com 。 映射類型
HTTPS Map Remote 工具可以將 HTTP 請(qǐng)求映射到 HTTPS 目標(biāo),反之亦然,因此您可以將 HTTP 或 HTTPS 站點(diǎn)映射到其對(duì)立面。 站點(diǎn)匹配 每個(gè)站點(diǎn)匹配可能包含協(xié)議、主機(jī)、端口和路徑模式,以匹配特定的 URL。站點(diǎn)可能包括通配符。當(dāng)您向此工具添加新站點(diǎn)時(shí),可能會(huì)找到有關(guān)創(chuàng)建站點(diǎn)匹配的更多幫助。 Map Local Settings(本地映射) Map Local 工具使您可以使用本地文件,就像它們是遠(yuǎn)程網(wǎng)站的一部分一樣。您可以在本地開發(fā)文件,并像在線上一樣測(cè)試它們。本地文件的內(nèi)容將返回給客戶端,就像它是正常的遠(yuǎn)程響應(yīng)一樣。 Map Local 可以大大加快開發(fā)和測(cè)試速度,否則您必須將文件上傳到網(wǎng)站以測(cè)試結(jié)果。使用 Map Local,您可以在開發(fā)環(huán)境中安全地進(jìn)行測(cè)試。 動(dòng)態(tài)文件 動(dòng)態(tài)文件(例如包含服務(wù)器端腳本的文件)不會(huì)由 Map Local 執(zhí)行,因此如果文件中有任何腳本,腳本將按原樣返回到瀏覽器,這可能不是預(yù)期的結(jié)果。如果您想使用動(dòng)態(tài)文件,就好像它們是遠(yuǎn)程網(wǎng)站的一部分一樣,請(qǐng)參閱 Map Remote 工具。 工作原理 當(dāng)請(qǐng)求與 Map Local 映射匹配時(shí),它會(huì)檢查與路徑匹配的本地文件。它不包括查詢字符串(如果有)。如果在本地找到所請(qǐng)求的文件,則將其作為響應(yīng)返回,就好像它是從遠(yuǎn)程站點(diǎn)加載的一樣,因此它對(duì)客戶端是透明的。如果在本地找不到所請(qǐng)求的文件,那么該請(qǐng)求會(huì)像平常一樣由網(wǎng)站提供,返回由真正的服務(wù)器提供的數(shù)據(jù)。 站點(diǎn)匹配 每個(gè)站點(diǎn)匹配可能包含協(xié)議、主機(jī)、端口和路徑模式,以匹配特定的 URL。站點(diǎn)可能包括通配符。當(dāng)您向此工具添加新站點(diǎn)時(shí),可能會(huì)找到有關(guān)創(chuàng)建站點(diǎn)匹配的更多幫助。 Rewrite Settings(重寫) Rewrite 工具允許創(chuàng)建請(qǐng)求和響應(yīng)在通過(guò) Charles 時(shí)修改他們的規(guī)則。如:添加或更改頭信息、搜索和替換響應(yīng)內(nèi)容中的某些文本等。 重寫集 重寫集可以單獨(dú)激活和停用。每個(gè)集合包含站點(diǎn)和規(guī)則的列表。這些站點(diǎn)選擇規(guī)則將要運(yùn)行的請(qǐng)求和響應(yīng)。 重寫規(guī)則 每個(gè)規(guī)則都描述了一次重寫操作。規(guī)則可能會(huì)影響請(qǐng)求URL的 Header,正文或部分內(nèi)容;它可以根據(jù)請(qǐng)求或響應(yīng)來(lái)操作;它可以定義搜索、替換或者僅替換樣式重寫。 站點(diǎn)匹配 每個(gè)站點(diǎn)匹配可能包含協(xié)議、主機(jī)、端口和路徑模式,以匹配特定的 URL。站點(diǎn)可能包括通配符。當(dāng)您向此工具添加新站點(diǎn)時(shí),可能會(huì)找到有關(guān)創(chuàng)建站點(diǎn)匹配的更多幫助。 調(diào)試 當(dāng)重寫操作未按預(yù)期工作時(shí),重寫工具可能難以調(diào)試。如果您遇到問(wèn)題,請(qǐng)嘗試添加一個(gè)非常基本的規(guī)則,例如添加明顯頭信息的規(guī)則,以便您可以查看規(guī)則是否與請(qǐng)求完全匹配。同時(shí)打開錯(cuò)誤日志中的調(diào)試,以獲取從 Charles 中的 Window 菜單訪問(wèn)的錯(cuò)誤日志中打印的一些調(diào)試信息。 Black List Settings(黑名單) Black List 工具允許輸入應(yīng)該被阻止的域名。當(dāng) Web 瀏覽器嘗試從被列入黑名單的域名請(qǐng)求任何頁(yè)面時(shí),該請(qǐng)求將被 Charles 阻止。您還可以輸入通配符來(lái)阻止其子域名。 White List Settings(白名單) Black List 工具允許輸入僅僅被允許的域名。Black List 工具將阻止除被列入白名單的域名之外的所有請(qǐng)求。
DNS Spoofing Settings(DNS 欺騙) DNS Spoofing 工具允許通過(guò)將自己的主機(jī)名指定給遠(yuǎn)程地址映射來(lái)欺騙 DNS 查找。 當(dāng)請(qǐng)求通過(guò) Charles 時(shí),您的 DNS 映射將優(yōu)先。 Charles 包含配置的域名到 IP 地址映射的列表。當(dāng)針對(duì)列出的域名發(fā)出請(qǐng)求時(shí),Spoof DNS 插件會(huì)發(fā)現(xiàn)欺騙 IP 將請(qǐng)求重定向到該地址。主機(jī)HTTP標(biāo)頭保持不變,因此就像您的 DNS 服務(wù)器返回欺騙性 IP一樣。 虛擬主機(jī) 虛擬主機(jī)是指單個(gè)IP地址上有多個(gè)站點(diǎn),Web 服務(wù)器根據(jù)瀏覽器中鍵入的名稱確定要請(qǐng)求的站點(diǎn)。更準(zhǔn)確地說(shuō),它查看請(qǐng)求中發(fā)送的主機(jī)頭。 如果沒(méi)有為您的站點(diǎn)設(shè)置 DNS,那么您通常無(wú)法測(cè)試它,因?yàn)槟荒苤惠斎?IP 地址,因?yàn)榉?wù)器無(wú)法獲取名稱,因此無(wú)法將請(qǐng)求與網(wǎng)站。使用 DNS 欺騙工具來(lái)克服此問(wèn)題。 Mirror Settings(鏡像) Mirror 工具會(huì)在瀏覽指定站點(diǎn)時(shí),把接收到的響應(yīng)內(nèi)容克隆一份,并保存在磁盤上指定的路徑下。 保存文件的路徑會(huì)與瀏覽站點(diǎn)的目錄結(jié)構(gòu)相同,并且 Charles 會(huì)為主機(jī)名創(chuàng)建一個(gè)根目錄。文件名從 URL 導(dǎo)出并轉(zhuǎn)換為適合的數(shù)據(jù)進(jìn)行保存。查詢字符串包含在文件名中。如果收到相同 URL 的兩個(gè)響應(yīng),則后面一個(gè)文件會(huì)覆蓋前面的同名文件,因此保存在鏡像中在的響應(yīng)內(nèi)容將始終為最新的。 選定站點(diǎn) 可以為每個(gè)請(qǐng)求啟用該工具,也可以僅為指定站點(diǎn)啟用該工具。當(dāng)用于選定的站點(diǎn)時(shí),可以使用簡(jiǎn)單但功能強(qiáng)大的模式匹配將工具的效果限制為指定的主機(jī)和/或路徑。 副作用 如果為請(qǐng)求啟用鏡像工具,它將導(dǎo)致任何壓縮或編碼的響應(yīng)被解碼。因此,如果服務(wù)器提供了壓縮響應(yīng),Charles 將在傳遞給客戶端之前對(duì)其進(jìn)行解壓縮,這通常不會(huì)產(chǎn)生任何影響。但是如果您已經(jīng)構(gòu)建了自己的客戶端,或者客戶端希望得到壓縮響應(yīng),此時(shí)將會(huì)產(chǎn)生影響。使用 web 瀏覽器則沒(méi)有任何影響。 Auto Save Settings(自動(dòng)保存) Auto Save 工具會(huì)按設(shè)定的時(shí)間間隔自動(dòng)保存和清除記錄會(huì)話。 如果您讓 Charles 長(zhǎng)時(shí)間監(jiān)控網(wǎng)絡(luò)活動(dòng),并希望將記錄分解為可管理的單元,或者避免因數(shù)據(jù)量過(guò)大而可能出現(xiàn)的內(nèi)存不足情況,這將非常有用。 輸入以分鐘為單位的保存間隔以及保存會(huì)話文件的目錄。您可以選擇是否在每次運(yùn)行 Charles 時(shí)啟動(dòng) Auto Save 工具,否則在 Charles 啟動(dòng)時(shí)將始終禁用 Auto Save 工具。 會(huì)話文件的名稱中保存時(shí)間戳,格式為 yyyyMMddHHmm,即年月日時(shí)分,以便按字母順序排序時(shí),它們以正確的順序顯示。 Client Process Settings(客戶端進(jìn)程) Client Process 工具顯示負(fù)責(zé)發(fā)出每個(gè)請(qǐng)求的本地客戶端進(jìn)程的名稱??蛻舳诉M(jìn)程通常是您的 Web 瀏覽器(例如 firefox.exe),但客戶端進(jìn)程工具可以幫助您發(fā)現(xiàn)許多可能未知的 HTTP 客戶端。 客戶端進(jìn)程名稱顯示在每個(gè)請(qǐng)求的 Notes 區(qū)域中。 如果您可以在 Charles 中看到不確定原始進(jìn)程的請(qǐng)求,則客戶端進(jìn)程工具很有用。 它僅適用于在運(yùn)行 Charles 的計(jì)算機(jī)上發(fā)出的請(qǐng)求。 在 Charles 接受每個(gè)連接之前,該工具將引入一個(gè)短暫的延遲。 延遲通常不明顯或不顯著。 選定站點(diǎn) 可以為每個(gè)請(qǐng)求啟用該工具,也可以僅為指定站點(diǎn)啟用該工具。當(dāng)用于選定的站點(diǎn)時(shí),可以使用簡(jiǎn)單但功能強(qiáng)大的模式匹配將工具的效果限制為指定的主機(jī)和/或路徑。 Compose(編輯修改) Compose 工具允許在原有的請(qǐng)求基礎(chǔ)上修改。 Repeat(重復(fù)) Repeat 工具允許選擇一個(gè)請(qǐng)求并重復(fù)它。Charles 將請(qǐng)求重新發(fā)送到服務(wù)器,并將響應(yīng)顯示為新請(qǐng)求。如果您正在進(jìn)行后端更改并希望在瀏覽器(或其他客戶機(jī))中重復(fù)請(qǐng)求的情況下測(cè)試這些更改,那么這將非常有用。特別是如果重新創(chuàng)建請(qǐng)求需要花費(fèi)一些精力,例如在游戲中獲得分?jǐn)?shù),這將節(jié)省大量精力。 重復(fù)請(qǐng)求是在 Charles 內(nèi)部完成的,因此無(wú)法在瀏覽器或其他客戶端中查看響應(yīng),響應(yīng)只能在 Charles 中查看。 Repeat Advanced(高級(jí)重復(fù)) Repeat Advanced 工具擴(kuò)展了 Repeat 工具,提供了迭代次數(shù)和并發(fā)數(shù)的選項(xiàng)。這對(duì)于負(fù)載測(cè)試非常有用。 Validate(驗(yàn)證) Validate 工具允許 Charles 通過(guò)將它們發(fā)送到 W3C HTML 驗(yàn)證器、W3C CSS 驗(yàn)證器和 W3C Feed 驗(yàn)證器來(lái)驗(yàn)證記錄的響應(yīng)。 驗(yàn)證報(bào)告在 Charles 中顯示,其中包含與響應(yīng)源中相應(yīng)行相關(guān)聯(lián)的任何警告或錯(cuò)誤(雙擊錯(cuò)誤消息中的行號(hào)可以切換到源視圖)。 因?yàn)?Charles 測(cè)試它記錄的響應(yīng),所以它可以測(cè)試不易測(cè)試的場(chǎng)景,例如在提交表單后呈現(xiàn)錯(cuò)誤消息。 重新驗(yàn)證 驗(yàn)證后,可以從驗(yàn)證結(jié)果中選擇響應(yīng)并 Repeat,重復(fù)原始請(qǐng)求,然后重新驗(yàn)證結(jié)果。 Publish Gist(發(fā)布要點(diǎn)) Publish Gist 工具可以將將所選請(qǐng)求和響應(yīng)作為要點(diǎn)發(fā)布。默認(rèn)情況下,這個(gè)要點(diǎn)將匿名發(fā)布,這意味著你將無(wú)法做到 刪除它??梢栽?nbsp;Tools 菜單的 Publish Gist Settings 中授權(quán) Charles 使用您的 GitHub 帳戶進(jìn)行發(fā)布。 Import/Export Settings(導(dǎo)入/導(dǎo)出) Import/Export 工具允許導(dǎo)入/導(dǎo)出 Charles 的 Proxy、Tools、Preferences 等設(shè)置。 Profiles(配置) Profiles 包含所有配置設(shè)置的完整副本。 每次更改當(dāng)前設(shè)置時(shí),系統(tǒng)都會(huì)更新當(dāng)前活動(dòng)的配置文件,當(dāng)您更改活動(dòng)配置文件時(shí),所有設(shè)置都將恢復(fù)為上次使用該配置文件時(shí)的狀態(tài)。 請(qǐng)注意,如果導(dǎo)入已保存的配置,則會(huì)覆蓋當(dāng)前配置文件的設(shè)置。建議使用導(dǎo)入/導(dǎo)出來(lái)備份或創(chuàng)建當(dāng)前配置和配置文件的快照,以維護(hù)多個(gè)并行工作區(qū)。 Charles 使用教程 通過(guò) Charles 進(jìn)行 PC 端抓包Charles 會(huì)自動(dòng)配置瀏覽器和工具的代理設(shè)置,所以說(shuō)打開工具直接就已經(jīng)是抓包狀態(tài)了。只需要保證一下幾點(diǎn)即可:
該文章在 2024/6/15 10:49:30 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |