3

我正在使用WebKit.Net開發我的第一個Windows窗體應用程序。我需要連接到https站點並彈出認證表單。使用.Net的內置瀏覽器,身份驗證表單會自動彈出,但WebKit只會讓我在401身份驗證錯誤頁面,我無法弄清楚如何進行身份驗證。有任何想法嗎?Webkit HTTPS身份驗證

即使我可以弄清楚如何在覈心webkit庫中做到這一點,我可以修改WebKit.Net來支持它,但我甚至找不到。我試圖尋找鉻源,看看他們是如何處理它的,但它遠遠超過了我的頭。任何幫助表示讚賞。

〜therealmitchconnors

UPDATE: WebKit.NET內置WebKit的WinCairo端口,它使用CFLite取代蘋果的封閉上CFNetwork的DLL。顯然,CFLite不支持身份驗證挑戰,這是「正確」的方式。因此,我在WebResourceLoadDelegate中添加了一些代碼來檢查用戶名和密碼,如果提供了一個代碼,但不包含標題,請取消該Web請求並重新調用導航方法,包括用戶名和密碼。這是一個非常醜陋的黑客,但它的工作原理。在webkitdotnet/therealmitchconnors查看。

我們弄清楚如何關閉問題...

+0

從這篇文章[link](http://developer.android.com/reference/android/webkit/WebView.html)看來,WebView類的Android實現包含一個SetHTTPAuthentication方法來完成此操作,但WebKit.Interop.WebViewClass不包含此方法。這是一個不同的webkit實現嗎? – therealmitchconnors 2011-06-07 18:42:48

+0

那麼,我能夠使用WebMutableRequest.setValue()手動設置WebBrowserCore.Navigate()方法中的Authentication標頭,但只有當用戶從導航欄中導航時纔會調用該標頭。如果單擊超鏈接或重定向被觸發,在發送之前我無法找到訪問請求對象的方法。 – therealmitchconnors 2011-06-10 18:45:49

+0

您是否有任何想法可以閱讀WebKit中的HTTP頭文件? http://stackoverflow.com/questions/10458961/get-http-headers-on-webkit-net – Juan 2012-05-05 04:53:03

回答

1

還有就是API中沒有辦法做到這一點。查看我的更新以獲取我的解決方法。