已知登陆名和密码,要做一个winform程序,登陆页面可能为html,或者php,把id和passwd 通过程序post过去后,获取session ,请教如何获得进入后的相关链接url有没有高手做过相关的程序,高分请教,如果需要另送分 谢谢
解决方案 »
- gridview数据源自动绑定怎样将编辑列放到表格后面
- 异常详细信息: System.IO.IOException: 未找到路径“c:\inetpub\wwwroot\Fliter.Config”的一部分。
- 在web.config 配置了跳转页面default.aspx,如何把它跳转到一个全屏窗口??
- 【Question】关于动态更改文件名的问题!请大家指教一下!
- 大专毕业生,方向c#现在到珠海去一般工资多少啊
- 如何获得6张Asp.net视频教学光盘!
- 怎么通过程序动态设置DataGrid页眉的显示文字?
- 着急!access数据库更新问题
- 100分了,我想问一个关于在ajax中调用WebMethod和PageMethod的问题!
- 请教高手,,。。。。。简单问题。。
- Visual C++/C#中的程序中如何给一个ASP.NET网站上传消息???
- 焦点的设置的属性???
Imports System.Drawing
Imports System.Collections
Imports System.ComponentModel
Imports System.Windows.Forms
Imports System.Data
Imports System.Web
Imports System.Web.SessionState
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.HtmlControls
Imports System.Net
Imports System.IO
Imports System.Text
Imports System.Net.CookieCollection
Public CookieHeader As String
Public Class Form1
Public Function Login(ByVal Url As String, ByVal Params As String)
Dim strResult As String = getPageByPost(Url, Params)
Return strResult
End Function Public Function getPageByPost(ByVal url As String, ByVal payload As String) As String
Dim result As HttpWebResponse
Dim strResult As String = ""
Try
Dim req As HttpWebRequest
Dim RequestStream As Stream
Dim ReceiveStream As Stream
Dim encode As Encoding
Dim sr As StreamReader req = WebRequest.Create(url)
req.Method = "POST"
req.ContentType = "application/x-www-form-urlencoded"
req.CookieContainer = New CookieContainer If Not Me.CookieHeader Is Nothing Then
If Me.CookieHeader.Length <> 0 Then
Me.Text = Me.CookieHeader
req.CookieContainer.SetCookies(New Uri(url), Me.CookieHeader)
End If
End If Dim SomeBytes() As Byte
Dim UrlEncoded As New StringBuilder
Dim reserved() As Char = {ChrW(63), ChrW(61), ChrW(38)} If payload <> Nothing Then
Dim i As Integer = 0
Dim j As Integer
While i < payload.Length
j = payload.IndexOfAny(reserved, i)
If j = -1 Then
UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, payload.Length - i)))
Exit While
End If
UrlEncoded.Append(HttpUtility.UrlEncode(payload.Substring(i, j - i)))
UrlEncoded.Append(payload.Substring(j, 1))
i = j + 1
End While
SomeBytes = System.Text.Encoding.UTF8.GetBytes(UrlEncoded.ToString())
req.ContentLength = SomeBytes.Length
RequestStream = req.GetRequestStream()
RequestStream.Write(SomeBytes, 0, SomeBytes.Length)
RequestStream.Close()
Else
req.ContentLength = 0
End If
result = req.GetResponse() Me.CookieHeader = req.CookieContainer.GetCookieHeader(New Uri(url)) ReceiveStream = result.GetResponseStream()
encode = System.Text.Encoding.GetEncoding("gb2312")
sr = New StreamReader(ReceiveStream, encode) Dim read(256) As Char
Dim count As Integer = sr.Read(read, 0, 256) Do While count > 0
strResult &= New String(read, 0, count)
count = sr.Read(read, 0, 256)
Loop Catch Exc As Exception Debug.Write(Exc.Message)
Finally If Not result Is Nothing Then
result.Close()
End If End Try
Return strResult
End Function
Function getPageByUrl(ByVal url As String) As String
Dim result As HttpWebResponse
Dim strResult As String = ""
Try
Dim req As HttpWebRequest Dim ReceiveStream As Stream
Dim encode As Encoding
Dim sr As StreamReader req = WebRequest.Create(url) req.Method = "GET" req.CookieContainer = New CookieContainer If Not Me.CookieHeader Is Nothing Then
If Me.CookieHeader.Length <> 0 Then
req.CookieContainer.SetCookies(New Uri(url), Me.CookieHeader)
End If
End If result = req.GetResponse() Me.CookieHeader = req.CookieContainer.GetCookieHeader(New Uri(url)) ReceiveStream = result.GetResponseStream()
encode = System.Text.Encoding.GetEncoding("gb2312")
sr = New StreamReader(ReceiveStream, encode) Dim read(256) As Char
Dim count As Integer = sr.Read(read, 0, 256) Do While count > 0
strResult &= New String(read, 0, count)
count = sr.Read(read, 0, 256)
Loop Catch Exc As Exception
Finally If Not result Is Nothing Then
result.Close()
End If End Try
Return strResult
End Function
End Class