這個是若快官方給出的讀取本地圖片并且POST的例子,求高人幫忙寫一下如何將網路圖片POST給若快
比如說https://passport.baidu.com/cgi-bin/genimage?jxIcaptchaservice363737326f41494f2f7459737150322f414f39614358676f3245323656633747624e7a306a6b4d4667615642695a646b6b6a53526c32527271592f6c6f69503564466a34344378744132472f474b6337524e5135485664347873684c7231693557564a7a6f74386a47784f625731567a6950386464756f496e477261732f6d51305849414b4c725051474c746764504878456975426149462f47736869775350654b41774b4455464e724e68534246756c30354244714f446b737268525a76655a4b46646b535478515445686958777049392b487879575178756b5857524667555455326952352f707836726454426b65435161454c43472f646d716c304d6c5a31417635725574396271474d65367039634c5149626275555a39427861633734372b4a337944342b774575616c49686837336e653655386446495a3159683852774163742b494f71782f39526d3064這個圖片,感激不盡
'-------------------------------------------------------------------------------
'讀取驗證碼圖片
Dim TempFileData() As Byte
Dim TempFileSize As Long '檔案長度
TempFileSize = FileLen(TempFileName) '獲取檔案長度
ReDim TempFileData(TempFileSize - 1)
Open TempFileName For Binary As #1
Get #1, , TempFileData
Close
'-------------------------------------------------------------------------------
'生成POST資料頭
Dim TempBoundary As String
TempBoundary = "---------------------------8d14d56975ec56f"
TempPostStr = vbCrLf & "--" & TempBoundary & vbCrLf
TempPostStr = TempPostStr & "Content-Disposition: form-data; name=""username""" & vbCrLf & vbCrLf
TempPostStr = TempPostStr & TempUn & vbCrLf
TempPostStr = TempPostStr & "--" & TempBoundary & vbCrLf
TempPostStr = TempPostStr & "Content-Disposition: form-data; name=""password""" & vbCrLf & vbCrLf
TempPostStr = TempPostStr & TempPw & vbCrLf
TempPostStr = TempPostStr & "--" & TempBoundary & vbCrLf
TempPostStr = TempPostStr & "Content-Disposition: form-data; name=""typeid""" & vbCrLf & vbCrLf
TempPostStr = TempPostStr & TempTypeId & vbCrLf
TempPostStr = TempPostStr & "--" & TempBoundary & vbCrLf
TempPostStr = TempPostStr & "Content-Disposition: form-data; name=""softid""" & vbCrLf & vbCrLf
TempPostStr = TempPostStr & TempSoftId & vbCrLf
TempPostStr = TempPostStr & "--" & TempBoundary & vbCrLf
TempPostStr = TempPostStr & "Content-Disposition: form-data; name=""softkey""" & vbCrLf & vbCrLf
TempPostStr = TempPostStr & TempSoftKey & vbCrLf
TempPostStr = TempPostStr & "--" & TempBoundary & vbCrLf
TempPostStr = TempPostStr & "Content-Disposition: form-data; name=""image""; filename=""System.Byte[]""" & vbCrLf
TempPostStr = TempPostStr & "Content-Type: image/gif" & vbCrLf & vbCrLf
TempPostData = StrConv(TempPostStr, vbFromUnicode)
ReDim Preserve TempPostData(UBound(TempPostData) + TempFileSize)
For i = 0 To TempFileSize - 1
TempPostData(UBound(TempPostData) - TempFileSize + i + 1) = TempFileData(i)
Next
Dim TempByte() As Byte
TempByte = StrConv(vbCrLf & "--" & TempBoundary & "--" & vbCrLf, vbFromUnicode)
ReDim Preserve TempPostData(UBound(TempPostData) + UBound(TempByte) + 1)
For i = 0 To UBound(TempByte)
TempPostData(UBound(TempPostData) - UBound(TempByte) + i) = TempByte(i)
Next
'-------------------------------------------------------------------------------
Set TempXmlObject = CreateObject("Microsoft.XMLHTTP")
TempXmlObject.Open "POST", "http://api.ruokuai.com/create.json", True
TempXmlObject.setRequestHeader "Content-Length", UBound(TempPostData) + 1
TempXmlObject.setRequestHeader "Content-Type", "multipart/form-data; boundary=" & TempBoundary
TempXmlObject.setRequestHeader "User-Agent", "RK_VB"
TempXmlObject.send (TempPostData)
uj5u.com熱心網友回復:
你可以用API函式URLDownloadToFile把那個圖片下載下來,然后讀取POST出去啊。
Option Explicit
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Integer, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Integer, ByVal lpfnCB As Integer) As Long
Dim fName As String, url As String
Private Sub Form_Load()
fName = "F:\mm.gif"
url = "https://passport.baidu.com/cgi-bin/genimage?jxIcaptchaservice363737326f41494f2f7459737150322f414f39614358676f3245323656633747624e7a306a6b4d4667615642695a646b6b6a53526c32527271592f6c6f69503564466a34344378744132472f474b6337524e5135485664347873684c7231693557564a7a6f74386a47784f625731567a6950386464756f496e477261732f6d51305849414b4c725051474c746764504878456975426149462f47736869775350654b41774b4455464e724e68534246756c30354244714f446b737268525a76655a4b46646b535478515445686958777049392b487879575178756b5857524667555455326952352f707836726454426b65435161454c43472f646d716c304d6c5a31417635725574396271474d65367039634c5149626275555a39427861633734372b4a337944342b774575616c49686837336e653655386446495a3159683852774163742b494f71782f39526d3064"
Call URLDownloadToFile(0, url, fName, 0, 0)
End Sub
試過可以下載下來。
uj5u.com熱心網友回復:
這個下載我嘗試過,就是多執行緒的時候比較麻煩啊,而且看著不清爽0.0uj5u.com熱心網友回復:
而且多執行緒的時候好像不能這么下載...轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/89583.html
標籤:VB基礎類
上一篇:求大神幫忙修改一下源代碼!
下一篇:求vb大神寫個程式 100分
