Private Declare Function InternetSetCookie Lib "wininet.dll" Alias "InternetSetCookieA" _
(ByVal lpszUrlName As String, _
ByVal lpszCookieName As String, _
ByVal lpszCookieData As String) As BooleanPrivate Declare Function InternetGetCookie Lib "wininet.dll" Alias "InternetGetCookieA" _
(ByVal lpszUrlName As String, _
ByVal lpszCookieName As String, _
ByVal lpszCookieData As String, _
lpdwSize As Long) As BooleanPrivate Function SetCookie(ByVal UrlName As String, ByVal CookieName As String, ByVal CookieData As String) As Boolean
Dim blnReturn As Boolean
blnReturn = InternetSetCookie(UrlName, CookieName, CookieData)
'If blnReturn = False Then MsgBox "Make Cookie Operation Failed!", vbCritical
SetCookie = blnReturn
End FunctionPrivate Function GetCookie(ByVal UrlName As String, ByVal CookieName As String) As String
Dim strCookieText As String * 256
Dim blnReturn As Boolean
blnReturn = InternetGetCookie(UrlName, CookieName, strCookieText, 255)
If blnReturn = False Then
'MsgBox "Get Cookie Operation Failed!", vbCritical
GetCookie = "Error!"
Else
GetCookie = strCookieText
End If
End FunctionPrivate Sub Command1_Click()
MsgBox SetCookie("http://community.csdn.net/", "fio", "Test")
MsgBox GetCookie("http://community.csdn.net/", "fio")
End SubGetCookie取不出cookie来,其他网站也是,这2个API应该怎么用啊??
怎么样可以用不同的cookie刷新webbrowser登陆不同的用户名啊 ?
(ByVal lpszUrlName As String, _
ByVal lpszCookieName As String, _
ByVal lpszCookieData As String) As BooleanPrivate Declare Function InternetGetCookie Lib "wininet.dll" Alias "InternetGetCookieA" _
(ByVal lpszUrlName As String, _
ByVal lpszCookieName As String, _
ByVal lpszCookieData As String, _
lpdwSize As Long) As BooleanPrivate Function SetCookie(ByVal UrlName As String, ByVal CookieName As String, ByVal CookieData As String) As Boolean
Dim blnReturn As Boolean
blnReturn = InternetSetCookie(UrlName, CookieName, CookieData)
'If blnReturn = False Then MsgBox "Make Cookie Operation Failed!", vbCritical
SetCookie = blnReturn
End FunctionPrivate Function GetCookie(ByVal UrlName As String, ByVal CookieName As String) As String
Dim strCookieText As String * 256
Dim blnReturn As Boolean
blnReturn = InternetGetCookie(UrlName, CookieName, strCookieText, 255)
If blnReturn = False Then
'MsgBox "Get Cookie Operation Failed!", vbCritical
GetCookie = "Error!"
Else
GetCookie = strCookieText
End If
End FunctionPrivate Sub Command1_Click()
MsgBox SetCookie("http://community.csdn.net/", "fio", "Test")
MsgBox GetCookie("http://community.csdn.net/", "fio")
End SubGetCookie取不出cookie来,其他网站也是,这2个API应该怎么用啊??
怎么样可以用不同的cookie刷新webbrowser登陆不同的用户名啊 ?
某些是没有的
肯定是那里写法有问题吧....
(ByVal lpszUrlName As String, _
ByVal lpszCookieName As String, _
ByVal lpszCookieData As String) As BooleanPrivate Declare Function InternetGetCookie Lib "wininet.dll" Alias "InternetGetCookieA" _
(ByVal lpszUrlName As String, _
ByVal lpszCookieName As String, _
ByVal lpszCookieData As String, _
lpdwSize As Long) As BooleanPrivate Function SetCookie(ByVal UrlName As String, ByVal CookieName As String, ByVal CookieData As String) As Boolean
Dim blnReturn As Boolean
blnReturn = InternetSetCookie(UrlName, CookieName, CookieData)
'If blnReturn = False Then MsgBox "Make Cookie Operation Failed!", vbCritical
SetCookie = blnReturn
End FunctionPrivate Function GetCookie(ByVal UrlName As String, ByVal CookieName As String) As String
Dim strCookieText As String
Dim blnReturn As Boolean
Dim lngCookie As Long 'cookie需要的长度
blnReturn = InternetGetCookie(UrlName, CookieName, strCookieText, lngCookie)
strCookieText = Space$(lngCookie)
blnReturn = InternetGetCookie(UrlName, CookieName, strCookieText, lngCookie) If blnReturn = False Then
'MsgBox "Get Cookie Operation Failed!", vbCritical
GetCookie = "Error!"
'Debug.Print Err.LastDllError
Else
GetCookie = strCookieText
End If
End FunctionPrivate Sub Command1_Click()
MsgBox SetCookie("http://community.csdn.net/", "fio", "Test")
MsgBox GetCookie("http://community.csdn.net/", "fio")
End Sub
厉害啊,我这个代码是从msdn上复制来的啊,msdn怎么也犯这种错误啊
而且我认为他那个 String * 256 也错了,应该是String * 255,后面那个才应该是256,缓冲区应该大于字符长度才对嘛,是吧