vb.netmsdn的简单介绍

VB.NET HttpWebRequest根据MSDN写法获取不到COOKIE,有的可以但不完整

嘿嘿,试试下面这个api

创新互联主要从事网站建设、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务安仁,10年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

Private Const INTERNET_COOKIE_HTTPONLY As Integer = H2000

SuppressUnmanagedCodeSecurity, SecurityCritical, DllImport("wininet.dll", EntryPoint:="InternetGetCookieExW", SetLastError:=True, ExactSpelling:=True)

Friend Function InternetGetCookieEx([In] Url As String, [In] cookieName As String, Out cookieData As StringBuilder, [In], Out ByRef pchCookieData As UInteger, flags As UInteger, reserved As IntPtr) As Boolean

End Function

''' summary

''' 获取webbrowser登录成功后的cookie,需要带上登录成功后的URL

''' /summary

''' param name="url"/param

''' returns/returns

SecurityCritical()

Public Function GetCookie(url As String) As String

Dim size As UInteger = 0

Dim sb As New StringBuilder

If InternetGetCookieEx(url, vbNullString, Nothing, size, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero) Then '-- this always returns false

If size = 0 Then

Return Nothing

End If

sb = New StringBuilder(Convert.ToInt32(size) + 1)

If Not InternetGetCookieEx(url, vbNullString, sb, size, INTERNET_COOKIE_HTTPONLY, IntPtr.Zero) Then

Return Nothing

End If

End If

Dim lastErrorCode = Marshal.GetLastWin32Error '-- 259

Return sb.ToString()

End Function

另外,再给你一个函数

''' summary

''' 字符串型的cookie转换成cookie型的cookiecollection

''' /summary

''' param name="cookieStr"/param

''' param name="cookie"/param

''' param name="domain"/param

Public Sub StringToCookie(ByVal cookieStr As String, ByRef cookie As CookieContainer, ByVal domain As String)

cookie = New CookieContainer()

Debug.Print($"过程:{New StackTrace().GetFrame(0).GetMethod.Name} 转换cookie开始")

Try

Dim cookstr As String() = cookieStr.Split(";"c)

Dim cookieName As String = ""

Dim cookieValue As String = ""

For Each str As String In cookstr

cookieName = str.Substring(0, InStr(str, "=") - 1).Trim()

cookieValue = str.Substring(InStr(str, "="), str.Length - InStr(str, "=")).Trim()

Dim ck As New Cookie(cookieName, cookieValue)

'Debug.Print($"{cookieName} = {cookieValue}")

ck.Domain = domain

cookie.Add(ck)

Next

Debug.Print($"过程:{New StackTrace().GetFrame(0).GetMethod.Name} 转换cookie成功")

Catch ex As Exception

Debug.Print($"过程:{New StackTrace().GetFrame(0).GetMethod.Name} {ex.StackTrace.ToString()}")

Finally

Debug.Print($"过程:{New StackTrace().GetFrame(0).GetMethod.Name} 转换cookie结束")

End Try

End Sub

vb.net msdn 哪有下载

vb.net的MSDN都在微软的网站上,因为微软每天都在更新MSDN的内容,当然也有离线版,不过容量太大(10多G),不建议安装,如果要装的话,请参考:

vb.net的VS2010不知道有没msdn帮助文档。

msdn文档在网页上有,浏览器打开就可以看到了。如果想看某个类库的介绍的话,直接在网址后面加上完整命名空间,比如就行了


分享标题:vb.netmsdn的简单介绍
新闻来源:http://scyanting.com/article/dojjsig.html