記得從剛入門前端第一天開始,當時的師傅就跟我介紹了一個能夠抓取一些必需要在微信瀏覽器打開的連接的工具Fiddler,主要用來抓取這些網頁的源碼,確實是很是好用,固然後來知道有了微信開發者工具,能夠直接在裏面調試以後,就感受Fiddler的做用好像也沒有那麼大了。直到今天,忽然看到一個有意思的微信H5小遊戲。想看下源碼瞭解下具體是怎麼實現的。這樣我就又從新用起了Fiddler工具,但是一用才發現,除了圖片,居然什麼東西都抓不到。後來試了幾回以後才發現,這個小遊戲比較刁,不只作了微信的登陸受權,並且作了手機端訪問的判斷,更甚至居然用的仍是https協議的網頁。因而我試着在網上找了解決方案才發現原來Fiddler工具默認是不能抓取https協議的,可是經過設置以及在對應設備上安裝證書就能夠實現抓取https。前端
我照着網上的教程,這裏發個教程貼。這個教程文章寫的很詳細,基本上將怎麼安裝Fiddler,怎麼配置代理,怎麼手機上安裝證書,都寫的很清楚。然而尷尬的是,我照着這篇文章去作,最後試着在手機上打開我想要抓取的那個H5小遊戲的連接,發現依舊什麼都抓不到。因而,我又在網上搜。發現有篇文章介紹了Fiddler有個log工具,會將全部的抓取記錄,包括保錯信息都會在log裏面打印出來。
經過查看log記錄,我終於找到我每次打開Https協議的連接時,所報的錯誤信息。大概以下。ios
!ERROR: Failed to generate Certificate using CertEnroll. System.Reflection.TargetInvocationException 調用的目標發生了異常。
緊接着,我照着這個錯誤信息,又在網上找了解決方案,終於找到一個連接.http://fiddler2.com/r/?fiddle...。
這個連接,應該是用於從新制造安裝Fiddler證書的做用,打開這個連接以後,會在你的電腦上面從新安裝fiddler證書,而後再照着我上面所發的教程連接裏面的步驟,從新設置,在手機上安裝證書。最後重啓fiddler。打開https的連接,終於能夠抓取到了。segmentfault
除了我上面介紹到的錯誤信息。還有其餘的問題我也介紹下。
一、最好在最新版的fiddler,否則可能會出問題。
二、ios手機上面打開安裝證書的連接後,所安裝的證書,在通用裏面的描述文件中能夠找到。注意下圖裏面的以驗證必定要是打鉤的狀態,否則好像不能用。
三、ios上安裝好了證書,須要給予信任,這樣手機上打開的https的連接才能夠被fiddler抓取到,ios手機通用裏面的關於本機裏面的證書信任設置,能夠進行信任。瀏覽器