iFrame的片段如下
<iframe style="vertical-align: middle;" src="https://bbs.csdn.net/ddxt/RandomCode?id=1" id="codeFrame" name="codeFrame" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes" height="30" width="73" ></iframe>
我用的vb6+webbrowser
src="https://bbs.csdn.net/ddxt/RandomCode?id=1”是隨機圖片驗證碼,bmp圖片
那位高手幫忙看一下,如何把圖片截取,賦給Picture或者保存都可以
uj5u.com熱心網友回復:
貼一個以前看到并收藏的代碼,這里提供了2中方法,你自己看看:''比如用webbrowser打開地址 http://www.xici.net/user/reg.asp
''目的想在picture上顯示出當前網頁驗證碼的影像
''目前大家貌似都是用下面這個方法獲取的
Set CtrlRange = WebBrowser1.Document.body.createControlRange()
CtrlRange.Add WebBrowser1.getelementbyid("showverifyimg")
CtrlRange.execCommand ("Copy")
Picture1.Picture = Clipboard.GetData
''但是感覺不太方便
''用讀取圖片快取地址的方法,有的網站讀取不到,不知道為什么
''還有沒有其他的方法呢?????求代碼
Private Sub CommandButton1_Click()
Dim arr() As Byte
On Error Resume Next
Set ms = CreateObject("msscriptcontrol.scriptcontrol")
ms.Language = "JavaScript"
With CreateObject("WinHttp.WinHttpRequest.5.1")
.Open "GET", "http://www.xici.net/user/reg.asp", False
.setRequestHeader "Connection", "Keep-Alive"
.Send
.Open "POST", "http://www.xici.net/setcode.asp", False
.setRequestHeader "Referer", "http://www.xici.net/user/reg.asp"
.setRequestHeader "x-requested-with", "XMLHttpRequest"
.setRequestHeader "Accept", "application/json, text/javascript, */*; q=0.01"
.setRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
.setRequestHeader "Connection", "Keep-Alive"
.Send "act=setkeyvalue"
tt1 = Split(.responsetext, """")(3)
.Open "GET", "http://www.xici.net/xiciservice/verifyimg2.asp?key=" & tt1, False
.setRequestHeader "Referer", "http://www.xici.net/user/reg.asp"
.setRequestHeader "Connection", "Keep-Alive"
.Send '獲得驗證碼
arr = .responseBody
Open "D:\tp1.gif" For Binary As #1
Put #1, , arr
Close #1
Do Until Dir("D:\tp1.gif") <> ""
DoEvents
Loop
ActiveSheet.Cells(2, 2).Select
Set s = ActiveSheet.Pictures.Insert("D:\tp1.gif")
s.ShapeRange.ScaleWidth 2, msoFalse, msoScaleFromTopLeft
s.ShapeRange.ScaleHeight 2, msoFalse, msoScaleFromTopLeft
sryzm = InputBox("請輸入驗證碼")
s.Delete
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run Environ$("comspec") & " /c Del /F /Q """ & "D:\tp1.gif""", vbHide, False
Set WshShell = Nothing
End With
End Sub
'
..
uj5u.com熱心網友回復:
第一種方法有些網站是有問題,而且重繪也有點小問題第二種是不是直接用WinHttp.WinHttpRequest.5.1來訪問?
我是想用Webbrowser來做,因為webbrowser看起來更直觀,通用性強,而WinHttp.WinHttpRequest.5.1代碼過于復雜
uj5u.com熱心網友回復:
向1樓學習!
uj5u.com熱心網友回復:
Topc008tt1是什么
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/75271.html
標籤:網絡編程
