用cookie可以实现。你看一下这一个:
http://expert.csdn.net/Expert/topic/2204/2204199.xml

解决方案 »

  1.   

    谢谢  cocosoft(pengyun)我看了你写的源码,如下,可是如何实现的登陆的过程,又是如何获取进入页面的url的呢?using System;
    using System.Text;
    using System.Runtime.InteropServices;
    class TestCookie
    { [DllImport("wininet.dll", CharSet=CharSet.Auto, SetLastError=true)]
    public static extern bool InternetGetCookie(
         string lpszUrlName,
         string lpszCookieName,
         StringBuilder lpszCookieData,
         ref uint lpdwSize
    );
    [DllImport("kernel32.dll")]
    internal static extern Int32 GetLastError(); public static string GetCookie(string url)
    {
    StringBuilder sb = new StringBuilder(1000);
    uint size = 1000;
    bool bGood = InternetGetCookie(url,"", sb,ref size);
    if (!bGood)
    Console.WriteLine("Error code:{0}", GetLastError()); return sb.ToString();
    }
       public static void Main()
       {
    Console.WriteLine(GetCookie("http://expert.csdn.net"));
       }
      

  2.   

    用HttpWebRequest和HttpWebResponse类,肯定可以做到
    session id应该在header里面,试试吧 (-:
      

  3.   

    请教   Sunmast(速马)     有相关的文章或者是源码吗,谢谢
      

  4.   

    利用HttpRequest登录到某个网站,然后获取网站信息的程序示例
    问题:有的网站的相关内容必须要在登录后才可以查看,其登录信息保存在session变量之中。这样,使用asphttp等组件就难以正确得到所要的信息。解决:使用asp.net中的httprequest和httpresponse来实现。要点:
    1。 通过附加一个cookiecontainer到httprequest对象中,可以得到登录后返回的代表SESSION ID的COOKIE。 见Login方法
    2。 将此COOKIE包含在一个cookiecontainer中并附加到另一个HTTPREQUEST请求中,则可以实现SESSION的还原。见getPage方法源程序如下:getHttpInfo.aspx:
    <%@ Page language="c#" Codebehind="getHttpInfo.aspx.cs" AutoEventWireup="false" Inherits="PdfTest.getHttpInfo" %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>WebForm1</title>
    <meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    </HEAD>
    <body>
    <form id="Form1" method="post" runat="server">
    </form>
    </body>
    </HTML>
    getHttpInfo.aspx.cs:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    //using System.Data.OleDb;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.Net;
    using System.IO;
    using System.Text;
    using System.Text.RegularExpressions;
    using Microsoft.Data.Odbc;namespace PdfTest
    {
    /// <summary>
    /// Summary description for WebForm1.
    /// </summary>
    public class getHttpInfo : System.Web.UI.Page
    {
    protected static string cookieheader;
    private void Page_Load(object sender, System.EventArgs e)
    {
    // Put user code to initialize the page herestring strResult;if (HttpContext.Current.Application["cookieheader"] != null)
    {
    cookieheader = (string)HttpContext.Current.Application["cookieheader"];
    }
    else
    {
    //Login into the website and keep the cookie for the session in the application variable
    string strLogin = Login("http://www.thesiteyouwanttovisit/theloginpage.asp", "Action=&USERID=&Password=") ;
    }
    strResult = getPage("http://www.thesiteyouwanttovisit/theloginpage.asp", "Action=&data=") ;
    //Write the result to htm file
    FileStream htmFile = new FileStream("c:\save.htm", FileMode.OpenOrCreate);
    StreamWriter sw = new StreamWriter(htmFile);
    sw.Write(strResult);
    sw.Close();
    htmFile.Close();// output the result
    Response.Write(strResult);
    }
    public static string Login(String url, String paramList) 
    {
    HttpWebResponse res = null;
    string strResult="";try 
    {HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
    req.Method = "POST";
    req.ContentType = "application/x-www-form-urlencoded";
    req.AllowAutoRedirect = false;
    CookieContainer cookieCon = new CookieContainer();
    req.CookieContainer = cookieCon;StringBuilder UrlEncoded = new StringBuilder();
    Char[] reserved = {'?', '=', '&'};
    byte[] SomeBytes = null;if (paramList != null) 
    {
    int i=0, j;
    while(i<paramList.Length)
    {
    j=paramList.IndexOfAny(reserved, i);
    if (j==-1)
    {
    UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i, paramList.Length-i)));
    break;
    }
    UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i, j-i)));
    UrlEncoded.Append(paramList.Substring(j,1));
    i = j+1;
    }
    SomeBytes = Encoding.UTF8.GetBytes(UrlEncoded.ToString());
    req.ContentLength = SomeBytes.Length;
    Stream newStream = req.GetRequestStream();
    newStream.Write(SomeBytes, 0, SomeBytes.Length);
    newStream.Close();

    else 
    {
    req.ContentLength = 0;
    }
    res = (HttpWebResponse)req.GetResponse();
    cookieheader = req.CookieContainer.GetCookieHeader(new Uri(url));
    HttpContext.Current.Application.Lock();
    HttpContext.Current.Application["cookieheader"] = cookieheader;
    HttpContext.Current.Application.UnLock();Stream ReceiveStream = res.GetResponseStream();
    Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
    StreamReader sr = new StreamReader( ReceiveStream, encode );
    Char[] read = new Char[256];
    int count = sr.Read( read, 0, 256 );
    while (count > 0) 
    {
    String str = new String(read, 0, count);
    strResult += str;
    count = sr.Read(read, 0, 256);
    }

    catch(Exception e) 
    {
    strResult = e.ToString();

    finally 
    {
    if ( res != null ) 
    {
    res.Close();
    }
    }return strResult;
    }
    public static string getPage(String url, String paramList) 
    {
    HttpWebResponse res = null;
    string strResult = "";try 
    {HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
    req.Method = "POST";
    req.KeepAlive = true;
    req.ContentType = "application/x-www-form-urlencoded";
    CookieContainer cookieCon = new CookieContainer();
    req.CookieContainer = cookieCon;
    req.CookieContainer.SetCookies(new Uri(url),cookieheader);
    StringBuilder UrlEncoded = new StringBuilder();
    Char[] reserved = {'?', '=', '&'};
    byte[] SomeBytes = null;if (paramList != null) 
    {
    int i=0, j;
    while(i<paramList.Length)
    {
    j=paramList.IndexOfAny(reserved, i);
    if (j==-1)
    {
    UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i, paramList.Length-i)));
    break;
    }
    UrlEncoded.Append(HttpUtility.UrlEncode(paramList.Substring(i, j-i)));
    UrlEncoded.Append(paramList.Substring(j,1));
    i = j+1;
    }
    SomeBytes = Encoding.UTF8.GetBytes(UrlEncoded.ToString());
    req.ContentLength = SomeBytes.Length;
    Stream newStream = req.GetRequestStream();
    newStream.Write(SomeBytes, 0, SomeBytes.Length);
    newStream.Close();

    else 
    {
    req.ContentLength = 0;
    }
    res = (HttpWebResponse)req.GetResponse();
    Stream ReceiveStream = res.GetResponseStream();
    Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
    StreamReader sr = new StreamReader( ReceiveStream, encode );
    Char[] read = new Char[256];
    int count = sr.Read( read, 0, 256 );
    while (count > 0) 
    {
    String str = new String(read, 0, count);
    strResult += str;
    count = sr.Read(read, 0, 256);
    }

    catch(Exception e) 
    {
    strResult = e.ToString();

    finally 
    {
    if ( res != null ) 
    {
    res.Close();
    }
    }return strResult;
    }
    #region Web Form Designer generated code
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: This call is required by the ASP.NET Web Form Designer.
    //
    InitializeComponent();
    base.OnInit(e);
    }/// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    private void InitializeComponent()

    this.Load += new System.EventHandler(this.Page_Load);}
    #endregion}
    } 原作者:spring.z
    这是从cn20.net看到的文章,希望对你有用处
      

  5.   

    string maintext;WebClient wc=new WebClient();string url = "http://www.cninfo.com.cn/jjzx/zcjz.jsp";NameValueCollection nvc = new NameValueCollection();
             
    nvc.Add("fundCode",code);
    nvc.Add("smt","查询");

    byte[] databuffer = wc.UploadValues(url,"POST",nvc);maintext= Encoding.Default.GetString(databuffer);wc.Dispose();
      

  6.   

    To  wwonion(洋葱) 向您请教,能否给我讲解一下,不胜感激
      

  7.   

    使用COOKIE,把用户的登陆信息保存的COOKIE中,然后,在SERVER端通过读取COOKIE的信息获得登陆信息,再进行相应的登陆结果处理。