WebBrowser控制項跨域訪問頁面內容

2021-06-22 08:29:50 字數 889 閱讀 8053

原文出處 :

原始碼出處:

原作者的部落格:

現整理:

經過一天的折騰發現最後還是ie策略給限制了跨域訪問,之前使用程式設計的辦法和植入script**的辦法,都是拒絕訪問的。

不過現在用了下邊的方法就可以解決了,**也不多。dll和**均在工程檔案裡

//注意,需要手動引用 interop.shdocvw.dll,和.net 自帶的microsoft.mshtml

下邊是例項:

using mshtml;

//需要呼叫的frame

ihtmlwindow2 win = (ihtmlwindow2)webbrowser1.document.window.frames["frame_some"].domwindow;

//獲得iframe doc

ihtmldocument2 doc = codecentrixsample.crossframeie.getdocumentfromwindow(win);

//body的資訊

messagebox.show(doc.body.innerhtml);

//填充input

mshtml.ihtmlelementcollection inputs;

inputs = (mshtml.ihtmlelementcollection)doc.all.tags("input");

mshtml.ihtmlelement element = (mshtml.ihtmlelement)inputs.item("txt_msg", 0);

mshtml.ihtmlinputelement inputelement = (mshtml.ihtmlinputelement)element;

inputelement.value = "填充資訊";

WebBrowser 控制項設計模式設定

當使用此元件時,會自動應用設計模式,並為文件建立乙個編輯模板。但是,作為參考,下面簡單說明這是如何實現的。應用設計模式需要使用 com 介面,新增乙個 mshtml 的 microsoft html object library 的引用,並新增乙個對 mshtml 的 using 在把改變寫入到 d...

C 刪除WebBrowser控制項Session

因為要搞乙個類似帳號多開的小輔助,但是很坑爹的發現,在乙個webbrowser中,就算重新登入,顯示的仍然是上乙個帳號,嘗試清空cookie無效,目測就是session的問題,因為session資訊是屬於httponly cookie,所以不能直接清除。搜了一圈,最終在stackoverflow上找...

js跨域 ajax跨域 跨域方式(前端)

跨域方式 cors 跨域資源共享 當使用xmlhttprequest傳送請求時,瀏覽器會自動加上乙個請求頭 origin,後端在接受到請求後確定響應後會在response headers中加入乙個屬性 access control allow origin,值就是發起請求的源位址 瀏覽器得到響應會進...