怎样调用1个登陆页面而不用输入用户名和密码,在线等..... 怎样调用1个登陆页面而不用输入用户名和密码,不要告诉我在URL里面加入相关信息,我只知道在JAVA里面有软键盘,在C#中或ASP.NET中怎么做,恳请指点. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 </HEAD></SCRIPT><BODY onload="document.all.LoadForm.submit();"><form id="LoadForm" action="http://mail.shodemy.com.cn/WorldClient.dll?View=Main" target="_top" method="post"><table align="center" width="490" border="0" cellpadding="0" cellspacing="0" id="loginTable"> <tr> <td align="center"> <table border="0" cellpadding="0" cellspacing="8"> <tr align="center"> <td align="left" valign="top" class="loginText"><b>邮件地址:</b></td> <td align="left" valign="top"><input class="loginInput" type="text" name="User" size="18" value="我的登录名" onfocus="showFocus(this)" onblur="showBlur(this)" /></td> </tr> <tr align="center"> <td align="left" valign="top" class="loginText"><b>密码:</b></td> <td align="left" valign="top"><input value="Ab1116" class="loginInput" type="password" name="密码" autocomplete="off" size="18" onfocus="showFocus(this)" onblur="showBlur(this)" /></td> </tr> <tr> <td> </td> <td align="left" valign="top"><input class="loginButton" type="submit" name="Logon" value="登录" /></td> </tr> </table> </td> </tr></table></form></BODY></HTML> 主要这个代码onload="document.all.LoadForm.submit(); post方式给你一个例子.sUrl = http://job.spforum.net/login/Index.asp;/////////////////////////////////// private CookieContainer cc = new CookieContainer();/////////////////////string postData = "uUsername=avoid&uPassword=123456"; ASCIIEncoding encoding = new ASCIIEncoding(); byte[] data = encoding.GetBytes(postData); request = (HttpWebRequest)WebRequest.Create(sUrl); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; Stream newStream = request.GetRequestStream(); newStream.Write(data, 0, data.Length); newStream.Close(); request.CookieContainer = cc; response = (HttpWebResponse)request.GetResponse(); cc.Add(response.Cookies); stream = response.GetResponseStream(); sHtml = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd(); 调用1个登陆页面而不用输入用户名和密码=====================================>>>>>>把cookie写如程序如上的post,,然后处理.. http://community.csdn.net/Expert/topic/5438/5438002.xml?temp=.5894129 感谢大家回帖!!我可能描述的不太明白,我要集成一个其他的WEB程序,已经从其他地方取得用户名称和密码,现在要调用该系统并且跳过他的登陆界面直接进入该系统,相当于我从该系统登陆,烦请讲下思路或代码,万分谢谢 tring url = "http://my.b2b.hc360.com/my/turbine/template/firstview,other_login.html";string indata = @"LoginID=mytestcs&Passwd=aabbccdd&LoginChk=true&Submit=%B5%C7%A1%A1%A1%A1%C2%BC"; string outdata=""; CookieContainer myCookieContainer=new CookieContainer(); //新建一个CookieContainer来存放Cookie集合 HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(url); //新建一个HttpWebRequest myHttpWebRequest.ContentType="application/x-www-form-urlencoded"; myHttpWebRequest.ContentLength=indata.Length; myHttpWebRequest.Method="POST"; myHttpWebRequest.CookieContainer=myCookieContainer; //设置HttpWebRequest的CookieContainer为刚才建立的那个myCookieContainer Stream myRequestStream=myHttpWebRequest.GetRequestStream(); StreamWriter myStreamWriter=new StreamWriter(myRequestStream,Encoding.GetEncoding("gb2312")); myStreamWriter.Write(indata); //把数据写入HttpWebRequest的Request流 myStreamWriter.Close(); myRequestStream.Close(); //关闭打开对象 HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse(); //新建一个HttpWebResponse myHttpWebResponse.Cookies=myCookieContainer.GetCookies(myHttpWebRequest.RequestUri); //获取一个包含url的Cookie集合的CookieCollection Stream myResponseStream=myHttpWebResponse.GetResponseStream(); StreamReader myStreamReader=new StreamReader(myResponseStream,Encoding.GetEncoding("gb2312")); outdata=myStreamReader.ReadToEnd(); //把数据从HttpWebResponse的Response流中读出 myStreamReader.Close(); myResponseStream.Close(); Console.WriteLine(outdata); //显示"登录" //拿到了Cookie,再进行请求就能直接读取到登录后的内容了 myHttpWebRequest=(HttpWebRequest)WebRequest.Create(url); myHttpWebRequest.CookieContainer=myCookieContainer;//* //刚才那个CookieContainer已经存有了Cookie,把它附加到HttpWebRequest中则能直接通过验证 myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse(); myHttpWebResponse.Cookies=myCookieContainer.GetCookies(myHttpWebRequest.RequestUri); myResponseStream=myHttpWebResponse.GetResponseStream(); myStreamReader=new StreamReader(myResponseStream,Encoding.GetEncoding("gb2312")); outdata=myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); Console.WriteLine(outdata); 这个是提交的数据类: using System.Collections; using System.IO; public class RequestData { ArrayList arr=new ArrayList(); public RequestData() { } public string GetData() { string r=""; for(int i=0;i<arr.Count;i++) { data d=(data)arr[i]; if(r.Length>0)r+="&"; r+=d.Field+"="+d.Value; } return r; } public void AddField(string Field,string Value) { data a=new data(); a.Field=Field; a.Value=Value; arr.Add(a); } struct data { public string Field,Value; } } 经过 上面Cookie就post过去了.然后就可以,,调用该系统并且跳过他的登陆界面直接进入该系统 参看 Avoid(好象又涨分了) ( ) 的例子就行了他已经说的足够明白了 你说的是SSO了,可以参考http://dev.yesky.com/msdn/326/2036826.shtml 如果有时间,你可以研究一下开源的http://blog.joycode.com/liuhuimiao/archive/2003/10/09/1717.aspxSSO不是几行代码就能完成的 net_lover(【孟子E章】) ( ) 信誉:140 Blog 加为好友 2007-04-23 13:06:22 得分: 0 不用输入用户名和密码?那你还要登录干什么?用户名字这么设置?软键盘也是输入 如果都在同一个主域名下,可以使用cookie, asp.net 2.0也有支持。可以参考 msdn 是,但有点不同,我要集成的WEB系统是域用户管理的,开发平台是ASP+ORACLE,内部有细分的模块权限管理. 求一个简单的正则表达式 WEB服务生成后引用的Reference 什么时候情况begininvoke 关于水晶报告的问题 在winform中无法粘贴 粘贴板上的内容? 实列化类对象 对treeview的节点重命名来使磁盘上的文件或者文件夹也重命名 用OracleDataAdapter連接oracle 數據庫時, 測試連接表示成功,也能看到數據庫中的表, 但不能生成sql語句.求救!!!!! excel插入问题(在线等!!急) wangj2001(乡村酒吧) 过来接份啦 那里有Asp.Net的FAQ? 请教各位大侠一个问题???(新手) 怎样禁止鼠标连续点击 ?
</SCRIPT>
<BODY onload="document.all.LoadForm.submit();">
<form id="LoadForm" action="http://mail.shodemy.com.cn/WorldClient.dll?View=Main" target="_top" method="post">
<table align="center" width="490" border="0" cellpadding="0" cellspacing="0" id="loginTable">
<tr>
<td align="center">
<table border="0" cellpadding="0" cellspacing="8">
<tr align="center">
<td align="left" valign="top" class="loginText"><b>邮件地址:</b></td>
<td align="left" valign="top"><input class="loginInput" type="text" name="User" size="18" value="我的登录名" onfocus="showFocus(this)" onblur="showBlur(this)" /></td>
</tr>
<tr align="center">
<td align="left" valign="top" class="loginText"><b>密码:</b></td>
<td align="left" valign="top"><input value="Ab1116" class="loginInput" type="password" name="密码" autocomplete="off" size="18" onfocus="showFocus(this)" onblur="showBlur(this)" /></td>
</tr>
<tr>
<td> </td>
<td align="left" valign="top"><input class="loginButton" type="submit" name="Logon" value="登录" /></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
</BODY>
</HTML>
sUrl = http://job.spforum.net/login/Index.asp;
///////////////////////////////////
private CookieContainer cc = new CookieContainer();/////////////////////
string postData = "uUsername=avoid&uPassword=123456";
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] data = encoding.GetBytes(postData); request = (HttpWebRequest)WebRequest.Create(sUrl);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
Stream newStream = request.GetRequestStream();
newStream.Write(data, 0, data.Length); newStream.Close();
request.CookieContainer = cc;
response = (HttpWebResponse)request.GetResponse();
cc.Add(response.Cookies);
stream = response.GetResponseStream();
sHtml = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd();
=====================================>>>>>>把cookie写如程序如上的post,,然后处理..
//新建一个CookieContainer来存放Cookie集合
HttpWebRequest myHttpWebRequest=(HttpWebRequest)WebRequest.Create(url);
//新建一个HttpWebRequest
myHttpWebRequest.ContentType="application/x-www-form-urlencoded";
myHttpWebRequest.ContentLength=indata.Length;
myHttpWebRequest.Method="POST";
myHttpWebRequest.CookieContainer=myCookieContainer;
//设置HttpWebRequest的CookieContainer为刚才建立的那个myCookieContainer
Stream myRequestStream=myHttpWebRequest.GetRequestStream();
StreamWriter myStreamWriter=new StreamWriter(myRequestStream,Encoding.GetEncoding("gb2312"));
myStreamWriter.Write(indata);
//把数据写入HttpWebRequest的Request流
myStreamWriter.Close();
myRequestStream.Close(); //关闭打开对象
HttpWebResponse myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
//新建一个HttpWebResponse
myHttpWebResponse.Cookies=myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);
//获取一个包含url的Cookie集合的CookieCollection
Stream myResponseStream=myHttpWebResponse.GetResponseStream();
StreamReader myStreamReader=new StreamReader(myResponseStream,Encoding.GetEncoding("gb2312"));
outdata=myStreamReader.ReadToEnd();
//把数据从HttpWebResponse的Response流中读出
myStreamReader.Close();
myResponseStream.Close();
Console.WriteLine(outdata);
//显示"登录"
//拿到了Cookie,再进行请求就能直接读取到登录后的内容了
myHttpWebRequest=(HttpWebRequest)WebRequest.Create(url);
myHttpWebRequest.CookieContainer=myCookieContainer;//*
//刚才那个CookieContainer已经存有了Cookie,把它附加到HttpWebRequest中则能直接通过验证
myHttpWebResponse=(HttpWebResponse)myHttpWebRequest.GetResponse();
myHttpWebResponse.Cookies=myCookieContainer.GetCookies(myHttpWebRequest.RequestUri);
myResponseStream=myHttpWebResponse.GetResponseStream();
myStreamReader=new StreamReader(myResponseStream,Encoding.GetEncoding("gb2312"));
outdata=myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close();
Console.WriteLine(outdata);
using System.Collections;
using System.IO;
public class RequestData
{
ArrayList arr=new ArrayList();
public RequestData()
{
}
public string GetData()
{
string r="";
for(int i=0;i<arr.Count;i++)
{
data d=(data)arr[i];
if(r.Length>0)r+="&";
r+=d.Field+"="+d.Value;
}
return r;
}
public void AddField(string Field,string Value)
{
data a=new data();
a.Field=Field;
a.Value=Value;
arr.Add(a);
}
struct data
{
public string Field,Value;
}
}
就可以,,调用该系统并且跳过他的登陆界面直接进入该系统
他已经说的足够明白了
http://dev.yesky.com/msdn/326/2036826.shtml
http://blog.joycode.com/liuhuimiao/archive/2003/10/09/1717.aspxSSO不是几行代码就能完成的
不用输入用户名和密码?那你还要登录干什么?用户名字这么设置?软键盘也是输入