Fiddler是一個http協(xié)議調(diào)試代理工具,它能夠記錄并檢查所有你的電腦和互聯(lián)網(wǎng)之間的http通訊,設置斷點,查看數(shù)據(jù),修改請求數(shù)據(jù)等。比如當你想抓取電腦瀏覽器打開一個網(wǎng)頁時候詳細訪問了些什么地址,或者手機在運行某個應用的時候訪問了些什么地址,特別是在開發(fā)應用,想要分析一些http請求的時候特別有用。你一定很好奇,F(xiàn)iddler是怎樣抓取數(shù)據(jù)的?,其實當你打開Fiddler的時候會自動在本機上開啟一個代理服務器,關(guān)閉Fiddler時候會自動關(guān)閉代理服務器,并且你的瀏覽器會自動設置和取消代理,完全不需要人工再去設置。這樣你瀏覽器訪問的http請求都會經(jīng)過Fiddler代理(充當中間人角色),F(xiàn)iddler就可以輕松抓取到http請求的數(shù)據(jù)了。對于移動端,抓取數(shù)據(jù)需要移動設備和電腦在同一局域網(wǎng)下,下文會詳細敘述。
fiddler抓包原理圖示
安裝
Fiddler的安裝很簡單,直接從官網(wǎng)下載,直接安裝即可,F(xiàn)iddler下載地址如下:https://www.telerik.com/download/fiddler
配置
1.在菜單欄依次點擊Tools-->Options-->HTTPS,勾選Capture HTTPS CONNECTS、Decrypt HTTPS traffic、Ignore server certificate errors這三個選項前的復選框
配置好后,F(xiàn)iddler就可以截獲HTTPS請求,配置完后記得要重啟Fiddler
注意:第一次配置HTTPS時,彈出證書安裝提示,若沒有彈出提示,勾選Actions--> Trust Root Certificate(信任根證書)
之后會彈出證書安裝提示,點擊Yes
接著點擊是(Y)
證書安裝成功
查看安裝的證書Actions—>Open Windows Certificate Manager
下面在說一下手機端抓包如何配置(確保手機和電腦在同一個局域網(wǎng)內(nèi))
在菜單欄依次點擊Tools-->Options-->Connections
為了減少干擾,你也可以去掉 “Act as system proxy on startup”(啟動系統(tǒng)代理)
接著還需要對移動端的配置,配置前先在控制臺輸入ipcinfig命令查一下電腦的IP地址(也可以將鼠標懸浮至Fidder工具右上角Online出查看)
之后在移動端打開瀏覽器,在地址欄中輸入代理服務器的 IP 和端口(即電腦的IP加fiddler的端口),會看到一個Fiddler 提供的頁面,然后確定安裝就好了
然后打開 WiFi 設置頁面,選擇要連接的 WiFi ,并且長按(不同的移動端可能操作不一樣),在彈出的對話框中,選擇“修改網(wǎng)絡”。在接下來彈出的對話框中,勾選“顯示高級選項”。在接下來顯示的頁面中,點擊“代理”,選擇“手動”。代理服務器主機名設為 PC 的 IP ,代理服務器端口設為 Fiddler 上配置的端口 8888,點”保存”。只有移動端使用Fidder的代理,F(xiàn)idder才能獲取數(shù)據(jù),至此配置就已經(jīng)完成。
左邊會話框介紹
1:給會話添加備注信息 2:重新加載當前會話 3:刪除會話選項 4:放行,和斷點對應,后面詳細講解 5:響應模式。也即是,當Fiddler拿到遠程的response后是緩存起來一次響應給客戶端還 是以stream的方式直接響應。 6:解碼。有些請求是被編碼的,點擊這個按鈕后可以根據(jù)響應的編碼格式自動解碼。 7:查找會話。 8:保存會話。 9:截屏。截屏后,會以會話的方式返回一個截圖。
會話列表標題和圖標說明如下:
標題說明
圖標說明
貼士:選中某一條會話按delete鍵可以刪除會話,使用Ctrl+X快捷鍵清除所有會話
右邊Tab面板介紹
1.Statistic
這里顯示關(guān)于HTTP請求的性能和其他數(shù)據(jù)分析的一些信息,比如DNS解析時間,建立TCP/IP連接時間消耗等等信息
2. Inspectors
提供headers、textview、hexview、Raw等多種方式查看單條http請求的請求報文的信息,分為上下兩個部分,上半部分是請求頭部分,下半部分是響應頭部分。對于每一部分,提供了多種不同格式查看每個請求和響應的內(nèi)容,下面說一些常用的格式
格式1:ImageView標簽
使用 ImageView 就可以看到圖片,選擇一條Content-Type是image/jpeg的回話,點擊ImageView
格式2:TextView 標簽
HTML/JS/CSS 使用 TextView 可以看到響應的內(nèi)容。選擇一條Content-Type是text/html的回話,點擊TextView
格式3:Raw標簽
Raw標簽可以查看響應報文和響應正文,但是不包含請求報文
格式4:Auth標簽
Auth則可以查看授權(quán)Proxy-Authorization 和 Authorization的相關(guān)信息
格式5:Cookies標簽
3.AutoResponder
Fiddler 的AutoResponder tab允許你從本地返回文件,而不用將http request 發(fā)送到服務器上。下面我們舉個例子:我們在瀏覽器中輸入www.baidu.com ,瀏覽器就會幫我們打開百度的網(wǎng)頁,現(xiàn)在我們在AutoResponder tab面板中添加一條規(guī)則并啟用規(guī)則,如下圖
此時再訪問www.baidu.com 時,頁面如下:
小結(jié):AutoResponder功能是Fiddler最實用的功能之一,Rule可以自由地設定,可以使用搜索(默認)、精確匹配(EXACT)、正則表達式匹配(REGEX)。處理方式可以選擇使用文件,也可以選擇合適的時間暫停數(shù)據(jù)流(*bpu、*bpafter),人工干預。通過以上幾個步驟,我們演示了怎樣將HTTP請求重定向到本地的文件,進行調(diào)試,這在我們診斷跟蹤一些js文件但卻不能修改js文件時非常有用。比 如:在用瀏覽器測試P頁面時,P頁面引入了一個js資源文件R.js,由于R.js文件在服務器S上,而我此時又不能登錄S服務器(沒有S服務器的帳 號),此時我們就可以通過瀏覽器將R.js文件下載到本地,然后對本地的R.js文件進行調(diào)整,最后通過設置Fiddler,將R.js文件的請求使用本 地的R.js文件。
4.Composer
Composer允許自定義請求發(fā)送到服務器,可以手動創(chuàng)建一個新的請求,也可以在會話表中,拖拽一個現(xiàn)有的請求,Parsed模式下你只需要提供簡單的URLS地址即可(如下圖,也可以在RequestBody定制一些屬性,如模擬瀏覽器User-Agent)
5.斷點請求/響應
如圖,方框所指的位置時可以點擊的。共三種狀態(tài): (1)空白:不設置斷點。 (2)箭頭向上:表示斷點請求.此時客戶端的請求是無法直接到達目標服務器的,需要手動控制。 (3)箭頭向下:表示斷點響應.此時目標服務器的響應是無法直接到達客戶端的,需要手動控制。
除此之外,還可以在命令行中進行斷點,在命令行中輸入命令如下:
bpu www.baidu.com (斷點請求) bpuafter www.baidu.com(斷點響應)
斷點請求并修改步驟如下:
如下圖:
斷點響應修改和斷點請求操作類似,只是在響應區(qū)域修改報文信息即可,但是在斷點響應時,請注意超時時間。
6.過濾域名
Fiddler抓包可以完成我們調(diào)試測試需求。但是多余的網(wǎng)頁請求和手機的其他鏈接影響我們手機開發(fā)的需求。所以我們需要排除其他無用的包,只關(guān)注我們指定的域名的請求包。打開fiddler,找到Filters選項并點擊打開,如圖所示
默認情況下,這個頁面是灰色的,代表默認不過濾任何請求.現(xiàn)在我們勾選 Use Filters ,如下圖
一般常用的有三種過濾條件:
(1).域名過濾,只顯示特定域名的記錄:
這里添加了www.baidu.com ,會話中只會出現(xiàn)于www.baidu.com相關(guān)的會話,其他的都會過濾掉,如下圖
(2).類型過濾,一般對各種圖片、CSS、JS這類的靜態(tài)素材也不需要看的情況下,直接全部過濾掉
(3).根據(jù)返回狀態(tài)碼,比如只想顯示200的狀態(tài),其他的不顯示
1.?(問號)
格式:?+字符串 如? baidu.com ;
作用:問號(?)后邊跟一個字符串,F(xiàn)iddler 將所有會話中存在該字符串匹配的全部高亮顯示
提示:匹配的字符串是 Protocol、Host 和 URL 中的任何子字符串.
2.> 和 <
大于號(>)和小于號(<)后邊跟一個數(shù)值,表示高亮所有body大于或小于該數(shù)值的會話,比如我輸入 <200,按下回車后結(jié)果如下:
3.=
等于號(=)后邊可以接 HTTP 狀態(tài)碼或 HTTP 方法,比如 =200 表示高亮所有正常響應的會話,下圖輸入了 =GET,表示希望高亮所有 GET方法的會話:
4.@
@ 后邊跟的是 Host,比如我想高亮所有百度的鏈接,我可以 @baidu.com
5.bpafter
bpafter 后邊跟一個字符串,表示中斷所有包含該字符串的會話,如bpafter baidu
6.bps
bps 后邊跟的是 HTTP 狀態(tài)碼,表示中斷所有為該狀態(tài)碼的會話。
7.bpv 或 bpm
bpv 或 bpm 后邊跟的是 HTTP 方法,表示中斷所有為該方法的會話。
8.bpu
跟 bpafter 類似,區(qū)別:bpu 是在發(fā)起請求時中斷,而 bpafter 是在收到響應后中斷。
9.cls 或 clear
清除當前的所有會話
10.dump
將所有的會話打包成 .zip 壓縮包的形式保存到 C 盤根目錄下
11.g 或 go
放行所有中斷下來的會話。
12.hide
將 Fiddler 隱藏
13.show(貌似沒啥用)
將 Fiddler 恢復。
14.urlreplace
urlreplace 后邊跟兩個字符串,表示替換 URL 中的字符串。比如 urlreplace baidu fishc 表示將所有 URL 的 baidu 替換成 fishc。溫馨提示:直接輸入 urlreplace 不帶任何參數(shù)表示恢復原來的樣子。
15.start
Fiddler 開始工作。
16.stop
Fiddler 停止工作。
17.quit
關(guān)閉 Fiddler
18.select
select 后邊跟響應的類型(Content-Type),表示選中所有匹配的會話,比如希望 Fiddler 選中所有的圖片,可以使用 select image; select css 則選中所有的 css 文件;select html 就是選中所有的 html 文件
19.allbut 或 keeponly
與select 類似,不過 allbut 和 keeponly 會將所有無關(guān)的會話刪除。比如我只想看圖片,那么我可以 keeponly image,表示將所有與圖片無關(guān)的會話刪除
20.!dns
!dns 后邊跟一個域名,執(zhí)行 DNS 查找并在右邊的 LOG 欄打印結(jié)果,如:!dns www.baidu.com
21.!listen
設置監(jiān)聽的端口,默認是 8888
TML代碼:
<table>
<tr>
<td><input type="checkbox" name="b">全選</td><td>內(nèi)容</td>
</tr>
<tr>
<td><input type="checkbox" name="a"></td><td>復選1</td>
</tr>
<tr>
<td><input type="checkbox" name="a"></td><td>復選2</td>
</tr>
<tr>
<td><input type="checkbox" name="a"></td><td>復選3</td>
</tr>
<tr>
<td><input type="checkbox" name="a"></td><td>復選4</td>
</tr>
<tr>
<td><input type="checkbox" name="a"></td><td>復選5</td>
</tr>
<tr>
<td><input type="checkbox" name="a"></td><td>復選6</td>
</tr>
</table>
JAVASCRIPT代碼:
<script>
$("input[name='b']").click(function(){
//判斷當前點擊的復選框處于什么狀態(tài)$(this).is(":checked") 返回的是布爾類型
if($(this).is(":checked")){
$("input[name='a']").prop("checked",true);
}else{
$("input[name='a']").prop("checked",false);
}
});
</script>
這樣就實現(xiàn)了全選和全不選
輯導語:HMI是人機交互的展現(xiàn)形式之一,是人與車之間的信息交互的特定名詞,而HMI設計就是為人與車之間的交互帶來良好的體驗。什么是HMI呢?HMI設計師如何有效的提升人與車之間的交互體驗感受呢?本文作者通過對HMI概念的解析、車載系統(tǒng)特點的總結(jié)、車載系統(tǒng)開發(fā)的梳理,與大家一起來分享HMI設計的相關(guān)知識吧~
很多想要入局HMI設計的同學都是UI、UX設計師,因此為了讓大家可以更全面地了解HMI,筆者再將HMI與UX、UI做一個橫向的對比~
在人與車的交互信息可以通過很多渠道進行傳遞,中控大屏、開關(guān)、按鈕、語音系統(tǒng)等,這些渠道共同幫助駕駛者完成駕駛?cè)蝿盏幕A上,還要帶給駕駛者良好的使用體驗。而良好的使用體驗維度也是不同的,例如順暢的交互感受、及時的反饋、信息高效的傳達等。
了解HMI的相關(guān)概念,接下來為大家介紹HMI用戶的需求是怎樣的?HMI有哪些使用場景?通過哪些載體呈現(xiàn)出來?
(1) 中控大屏:汽車中央控制屏幕,可以控制車輛一部分的設施,連接倒車影像等功能,駕駛娛樂化與駕駛樂趣也與駕駛者們之間存在越來越緊密的依存關(guān)系,在未來的車載顯示器會跟更多的跨時代的科技聯(lián)系;
(2) 儀表盤:現(xiàn)在的純液晶儀表盤替代了傳統(tǒng)儀表盤成為了主流趨勢,傳統(tǒng)儀表盤包括:純機械、燈顯、段碼等;
(3) 后排顯示屏:后排顯示屏的娛樂屬性較為濃厚,主要具備視頻、音樂、游戲、天氣預告等功能,可以根據(jù)后排乘客的不同需求進行調(diào)換,是優(yōu)化后排乘客乘車體驗的有效途徑。
下面從行業(yè)風向、政策、消費者這三個維度來解析一下HMI的市場與發(fā)展前景~
經(jīng)過介紹,相信大家也是看好這個行業(yè)的發(fā)展與前景,將會有更多的設計師HMI發(fā)展的紅利,才會想要進一步了解HMI的~
HMI的用戶體驗體系是基于人與車之間的關(guān)系進行設定的,別分由安全-效率-舒適-體驗這四個體系自上而下組成的,而通過HMI的設計可以對這些體系產(chǎn)生正向的作用。
HMI的設計原則有哪些呢?它與UI/UX有著緊密的聯(lián)系,基于車載HMI的特殊屬性與使用場景,HMI的設計原則也與其他設計領(lǐng)域是不盡相同的。
(1)輕便操作:在人車交互的特定場景中,駕駛者通常采用左手進行駕駛需要的基本操作,右手進行HMI系統(tǒng)的交互操作,同時進行多項操作任務。在多任務同時進行下的非靜止狀態(tài)下車輛的安全性是存在風險的,因此,HMI首先就是要確保駕駛?cè)说陌踩珵榍疤徇M行信息交互設計,讓駕駛者在駕駛的過程中也可以輕松的完成HMI系統(tǒng)的操作。
(2)高效瀏覽: 隨著人們生活的不斷豐富,汽車駕駛者對于HMI需要具備功能全面性的要求也越來越高,在“大屏化”的HMI系統(tǒng)所需要具備的功能與信息也越來越多。因此,在HMI的設計中,可以為駕駛者帶來更加高效的信息瀏覽效率是非常重要的,要對信息進行精煉,保障信息通俗易懂、表意準確、清晰好辨,為駕駛者的高效瀏覽做出支撐。
在進行信息層級設定時,要讓駕駛者更加快速的捕捉到最為關(guān)鍵的信息,可以通過對比的設計技巧來實現(xiàn),確保駕駛員在駕駛車輛時也可以擁有高效的瀏覽性,降低駕駛員的視覺捕捉成本。
(3)即時反饋:在實際的駕駛場景中,路況、路線、信號的變化關(guān)系是非常復雜的,駕駛員要花費較高的精力成本,因此在與HMI的信息交互中,要做到迅速的反饋,可以通過視覺、觸控、語音等方式進行及時的反饋,因此在HMI的設計上也要注重信息傳遞的效率性。
剛為大家介紹了HMI的設計原則,那么基于以上三項設計原則的基礎上,HMI設計還有哪些設計特點呢?
(1)使用場景:HMI的設計原則是基于HMI特殊的使用場景而產(chǎn)生出來的,HMI位于前座艙的中間區(qū)域,在主駕駛位的右側(cè),眼睛距離屏幕距離為50~60cm,因此在駕駛員進行駕駛?cè)蝿諘r需要通過斜視來查看屏幕中的內(nèi)容。這樣的使用場景就需要考慮HMI設計的差異性,例如硬體的屏幕尺寸、軟體的字體大小、圖形、icon、顏色等;
(2)品牌感知:汽車市場的車企規(guī)模不斷擴大,頭部車企愈來愈注重品牌的差異化設計,通過獨特的品牌留給用戶更加深刻的印象。現(xiàn)在的用戶喜歡內(nèi)飾時尚且具有品質(zhì)感的設計,好的HMI設計不是購買一輛汽車的核心因素,但卻是必備的因素。伴隨著同一車企出現(xiàn)愈來愈多的車型,每款車型的用戶畫像也逐漸細化,因為更需要HMI的量身定制,從風格設計再到品牌感知,都要定位到精準的用戶像群與之匹配。
(3)用戶體驗:HMI交互行為是具有較高的固定性的,交互模式卻是多種結(jié)合的:語音、觸控、按鍵、按鈕。這些模式之間相互結(jié)合的交互是較為高頻的操作,結(jié)合HMI的使用場景,因此要求HMI具有較低的容錯率,同時也要考慮到實際操作熱區(qū)的問題。
接下來為大家詳細的介紹一下HMI的交互相關(guān)概念,分別從HMI的交互模式、交互方式、交互文案、交互反饋為大家介紹~
HMI的交互模式是通過多種感官渠道提供的反饋信息進行交互的綜合型模式,其中包括了視覺、聽覺、觸覺、嗅覺與味覺等方面的感官參與,而想要獲取這些感官的參與就要通過其對應的人體器官,例如眼、鼻、嘴、耳、手等,而在HMI的設計中也是圍繞這些感官進行設計的,而在更多的應用場景下,需要多種感官之間的共同配合,所以HMI也被稱之為多感官交互模式。
這種多感官共用的綜合型交互模式可以在車內(nèi)使交互行為變得更加輕松,增加交互的趣味性,不用再重復機械性的交互。
常見的交互方式有很多:硬體按鍵、軟體觸控、語音、手勢等,下面為大家詳細的介紹一下這四個常見的交互方式~
(1)按鍵交互:按鍵的交互形式由來已久,由硬體部分組成,通常是按鍵、按鈕兩種,按鍵通過簡單的icon示意,按鈕則是搭配具有較強指向性的icon示意操作方法,駕駛者們也早已習慣了此類的交互方式。
(2)觸控交互:中控大屏是觸控交互使用最為常見的部分,中控大屏的出現(xiàn)也對HMI的交互帶來了巨大的變化。觸控交互包括了:點擊、雙擊、長按、滑動、單手拖拽、雙手拖拽方式等,但是除了點擊之外的其他方式都易超出2秒的安全時間范圍,這樣的操作在復雜的駕駛過程中顯得過于繁瑣,以至于對駕駛安全產(chǎn)生影響,因此,駕駛員在進行駕駛?cè)蝿盏倪^程中,點擊是最為常見且操作成本相對較低的交互方式。
那么在哪些場景應用怎樣的交互方式呢?接下來就給大家?guī)頋M滿的干貨,請碼住~
(3)語音交互:語音交互可以有效地降低用戶的付出成本,在駕駛操作中,可以分散最小的精力完成任務的操作指令。
(4)手勢交互:車載的手勢交互是指通過手勢的變換與組合來控制汽車的系統(tǒng),可以讓車主更快的實現(xiàn)下達的指令,例如切換在線電臺、切換歌曲、翻閱頁面、音量調(diào)解、接掛電話等。這些手勢有的是從觸控交互演變而來,有的是總結(jié)人們操作習慣而來的。
在車載系統(tǒng)中,手勢交互的優(yōu)點就是可以用“不那么準確的”操作來進行,在駕駛員行駛的過程中,HMI的原則就是使駕駛員的注意力集中在變幻莫測的路況上,減少對于指令操作的注意力;而事物的優(yōu)劣往往是組合存在的,手勢交互的缺點就是此類交互行為是較為稀少的,因此需要駕駛員對此類操作有比較深刻的記憶,但是對于不太熟悉操作的駕駛員,在駕駛時還要回顧交互手勢,容易導致轉(zhuǎn)移過多的注意力在交互上。
(1)內(nèi)容顯示:在駕駛的過程中,駕駛者要把大部分的精力放在駕駛汽車上,用在操作HMI所用的時間與精力占比很低。因此,就要求HMI擁有快速傳遞信息的功能,那么要做到信息的快速傳遞,可以從以下幾個方面入手:
(2)操作熱區(qū):HMI的設計要充分考慮到駕駛者的使用感受,(涉及到一些人體工程學的知識)駕駛者在駕駛的過程中,身體受到一定的約束,因此手指想要到觸及距離自己較遠的屏幕時是會耗費額外的注意力的,同時也要考慮到駕駛者的視力因素。
因此,盡可能將高頻操作區(qū)域和重點信息區(qū)域放在操作熱區(qū)內(nèi),盡可能的縮短操作區(qū)域與駕駛者的距離,同時呈現(xiàn)出來的信息內(nèi)容也更加清晰,反之可以將其他信息置于屏幕右側(cè)。
(3)交互文案:HMI交互文案一定要精簡且通俗易懂,可以讓駕駛者用最少的精力在最短的時間內(nèi)完成操作,不要存在歧義,同時理解交互帶來的反饋~
表意清晰:
交互文案表意一定要清晰明確,拒絕含糊不清。
舉個栗子:用戶在上傳頭像圖片時,如果上傳失敗。
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。