.net web 模拟登录的问题

问题描述

要做一个单点登录的系统在网上研究了几天有点接近了可还有些问题我现在已经能够登录到网站上返回登录后页面HTML代码但是我怎么才能跳转到登录后的页面而且保持登录状态呢Response.Redirect跳转后登录状态就没了html代码直接输出到页面上布局会乱(脚本和CSS路径错误)以下是我使用的代码后台cs文件///<summary>///获取CooKie///</summary>///<paramname="loginUrl"></param>///<paramname="postdata"></param>///<paramname="header"></param>///<returns></returns>publicstaticCookieContainerGetCooKie(stringloginUrl,stringpostdata,HttpHeaderheader){HttpWebRequestrequest=null;HttpWebResponseresponse=null;try{CookieContainercc=newCookieContainer();request=(HttpWebRequest)WebRequest.Create(loginUrl);request.Method=header.method;request.ContentType=header.contentType;byte[]postdatabyte=Encoding.UTF8.GetBytes(postdata);request.ContentLength=postdatabyte.Length;request.AllowAutoRedirect=false;request.CookieContainer=cc;request.KeepAlive=true;//提交请求Streamstream;stream=request.GetRequestStream();stream.Write(postdatabyte,0,postdatabyte.Length);stream.Close();//接收响应response=(HttpWebResponse)request.GetResponse();response.Cookies=request.CookieContainer.GetCookies(request.RequestUri);CookieCollectioncook=response.Cookies;//Cookie字符串格式stringstrcrook=request.CookieContainer.GetCookieHeader(request.RequestUri);returncc;}catch(Exceptionex){throwex;}}///<summary>///获取html///</summary>///<paramname="getUrl"></param>///<paramname="cookieContainer"></param>///<paramname="header"></param>///<returns></returns>publicstaticstringGetHtml(stringgetUrl,CookieContainercookieContainer,HttpHeaderheader){HttpWebRequesthttpWebRequest=null;HttpWebResponsehttpWebResponse=null;try{httpWebRequest=(HttpWebRequest)HttpWebRequest.Create(getUrl);httpWebRequest.CookieContainer=cookieContainer;httpWebRequest.ContentType=header.contentType;httpWebRequest.ServicePoint.ConnectionLimit=header.maxTry;httpWebRequest.Referer=getUrl;httpWebRequest.Accept=header.accept;httpWebRequest.UserAgent=header.userAgent;httpWebRequest.Method="GET";httpWebResponse=(HttpWebResponse)httpWebRequest.GetResponse();StreamresponseStream=httpWebResponse.GetResponseStream();StreamReaderstreamReader=newStreamReader(responseStream,Encoding.UTF8);stringhtml=streamReader.ReadToEnd();streamReader.Close();responseStream.Close();httpWebRequest.Abort();httpWebResponse.Close();returnhtml;}catch(Exceptione){if(httpWebRequest!=null)httpWebRequest.Abort();if(httpWebResponse!=null)httpWebResponse.Close();returnstring.Empty;}}前台调用CookieContainercc=HttpHelpercs.GetCooKie("http://XXX/User/Login.aspx","user=123&pass=123",header);stringhtml=HttpHelpercs.GetHtml("http://XXX/Index.aspx",cc,header);Response.Write(html);//Response.Write("<script>window.location.href='http://XXX/Index.aspx';</script>");//Response.Redirect("http://XXX/Index.aspx");求大神解答

解决方案

解决方案二:
没弄过,帮顶下
解决方案三:
跳转以后登录状态没了?是同一个项目吗?
解决方案四:
日,好长啊,一般几行就搞定了
解决方案五:
引用2楼cnceohjm的回复:

跳转以后登录状态没了?是同一个项目吗?

不是同一个是别人的没有接口让我直接登录
解决方案六:
引用1楼myhope88的回复:

没弄过,帮顶下

谢谢
解决方案七:
引用3楼huaneramn的回复:

日,好长啊,一般几行就搞定了

求示例啊大神
解决方案八:
引用4楼zzcqianghan的回复:

Quote: 引用2楼cnceohjm的回复:
跳转以后登录状态没了?是同一个项目吗?

不是同一个是别人的没有接口让我直接登录

直接登录,你取人家的用户名密码直接登录吗?登录状态在你的网站显示,还在别人的网站显示?
解决方案九:
引用7楼cnceohjm的回复:

Quote: 引用4楼zzcqianghan的回复:
Quote: 引用2楼cnceohjm的回复:
跳转以后登录状态没了?是同一个项目吗?

不是同一个是别人的没有接口让我直接登录

直接登录,你取人家的用户名密码直接登录吗?登录状态在你的网站显示,还在别人的网站显示?

就是他在我的页面上输入账号密码然后我用这个账号密码直接登录到他的网站上我现在能够获取到登录后网站的HTML但是怎么能跳转到登录后的页面呢
解决方案十:
请问楼主解决了吗求分享解决办法
解决方案十一:
单点登录有这么难

时间: 2024-11-01 01:22:33

.net web 模拟登录的问题的相关文章

【CURL】模拟登录网站并获取用户信息

模拟登录网站并获取用户信息 前言 这次来做的是通过代码的方式,模拟登录秒拍官网,获取登录用户的信息. 前后端分离 本文的标题是CURL,传统的网站是PHP代码直接渲染项目视图,通过表单提交到控制器直接进行数据操作. 传统模拟登录的方式在页面上找到表单元素,直接进行模拟表单提交. 近两年前端技术趋于完善,实现了前后端分离. 分析页面元素 秒拍官网地址 http://www.miaopai.com/ 通过审查元素以及源代码查找,在本页面并没有form标签,由此推断页面是通过js进行提交的. 查找提交

Python(Tornado)模拟登录小米抢手机_python

今天看到同事参与小米的抢购,几经数个星期的尝试,终于抢到了一台小米电视--看了一下小米的抢购流程,似乎可以用程序可破.于是想写点东西玩玩(你懂的--),第一步肯定是先得模拟登录小米帐号,当练手吧.用 Python 来实现吧,由于是写一个Web应用,那么框架就选 Tornado.首先是定义应用的 URL: 复制代码 代码如下: def main():    tornado.options.parse_command_line()    application = tornado.web.Appli

PHP curl模拟登录带验证码的网站_php实例

需求是这样的,需要登录带验证码的网站,获取数据,但是不可能人为一直去记录数据,想通过自动采集的方式进行,如下是试验出来的结果代码!有需要的可以参考下! <?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller { protected $cookieName = array('cookie_verify', 'cookie_verify'); protected $

php 模拟登录网站并获取用户信息示例

前言 这次来做的是通过代码的方式,模拟登录秒拍官网,获取登录用户的信息. 前后端分离 本文的标题是CURL,传统的网站是PHP代码直接渲染项目视图,通过表单提交到控制器直接进行数据操作. 传统模拟登录的方式在页面上找到表单元素,直接进行模拟表单提交. 近两年前端技术趋于完善,实现了前后端分离. 分析页面元素 秒拍官网地址 http://www.miaopai.com/ 通过审查元素以及源代码查找,在本页面并没有form标签,由此推断页面是通过js进行提交的. 查找提交地址 由于提交的js代码可能

httpclient模拟登录问题

问题描述 各位好,我在使用httpclient模拟登录时,出现403错误:Methodfailed:HTTP/1.1403Forbidden<html><head><title>403Forbidden</title></head><bodybgcolor="white"><center><h1>403Forbidden</h1></center><hr>

新浪微博模拟登录(Java)

     使用HttpClient模拟新浪微博登录,贴在这里做个备忘,也希望能帮助到有这方面需求的童鞋们,代码如下:        Java代码   package com.yida.spider4j.crawler.test.sina;      import java.io.UnsupportedEncodingException;   import java.math.BigInteger;   import java.net.URLEncoder;   import java.secur

网页-java单点登录SSO,模拟登录

问题描述 java单点登录SSO,模拟登录 要做一个Java单点登录系统,用户登录系统后,可以直接跳转到所需的子系统主页,无需再输入用户名密码.网上查了些资料,准备用cas实现,但发现子系统有权限管理,举个例子,用户所属部门不同,能访问的某个子系统的主页也不一样,cas貌似无法解决,想问下cas是不是真的没办法解决这个问题? 后来准备自己手动实现,有一个子系统是get方式传递用户名密码,自不必说,很容易实现.但有好几个是post方式传参,我开始使用HttpURLConnection模拟登录,但未

xsrf-python 模拟登录知乎,登录不成功

问题描述 python 模拟登录知乎,登录不成功 import urllib2 import urllib import cookielib import ssl filename = 'cookie.txt' cookie = cookielib.MozillaCookieJar(filename) handler = urllib2.HTTPCookieProcessor(cookie) opener = urllib2.build_opener(handler) postData = ur

ajax-php采集高手进:利用curl模拟登录抓取数据遇到json调用问题不成功,求助!

问题描述 php采集高手进:利用curl模拟登录抓取数据遇到json调用问题不成功,求助! 我在抓取一个页面的信息(假设a.php),这个页面只是一些基本的html框架,其他关键信息是通过ajax请求(b.php)回来的,返回的是json,然后在通过页面js将json解析,绘制到页面上.问题的关键是ajax请求的信息里有个手机号码需要登录后才显示完整,原网站利用ajax请求b.php获得json数据,如果直接访问b.php也是可以直接得到:{"name":"zhangsan&