模拟IE登录一个需要(windows身份)验证的网站

简介:

用户认证

HttpWebRequest可以实现的啊

最简单的方法,就是把用户名和密码放入url中

比如:http://username:password@www.abc.com/

复杂的办法可以在请求的header里面添加Authorization。格式为:Basic + base64(username:password)

 

如:

 

public static string SendDataByGET(string Url, string postDataStr, ref CookieContainer cookie)
        {
            try
            {
                string url = Url + (postDataStr == "" ? "" : "?") + postDataStr;
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                //if (cookie.Count == 0)
                //{
                //    request.CookieContainer = new CookieContainer();
                //    cookie = request.CookieContainer;
                //}
                //else
                //{
                request.CookieContainer = cookie;
                //}
                request.KeepAlive = true;
                request.Headers.Add("Authorization", "Basic Ym9uc29uOmJvbnNvbg==");
                request.CookieContainer = cookie;
                request.Credentials = CredentialCache.DefaultCredentials;

                request.Method = "GET";
                //request.Timeout = 1000 * 300;
                request.ContentType = "text/html;charset=gb2312";
                request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; MyIE2 0.3; Mogi/1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";

                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                Stream myResponseStream = response.GetResponseStream();
                StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("gb2312"));
                string retString = myStreamReader.ReadToEnd();
                myStreamReader.Close();
                myResponseStream.Close();

                return retString;
            }
            catch (Exception ex)
            {
                return "提交出错:" + ex.Message;
            }
        }




本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2012/06/11/2545441.html,如需转载请自行联系原作者

相关文章
|
Web App开发 Windows
【Windows】 chrome 如何下载网站在线预览PDF文件,保存到本地
【Windows】 chrome 如何下载网站在线预览PDF文件,保存到本地
1946 0
|
6月前
|
数据安全/隐私保护 Windows
Windows Outlook 登录问题
Windows Outlook 登录问题解决办法
Windows Outlook 登录问题
|
C# Windows
【Azure App Service】在App Service for Windows上验证能占用的内存最大值
根据以上测验,当使用App Service内存没有达到预期的值,且应用异常日志出现OutOfMemory时,就需要检查Platform的设置是否位64bit。
249 11
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
1318 4
|
Android开发 数据安全/隐私保护 虚拟化
安卓手机远程连接登录Windows服务器教程
安卓手机远程连接登录Windows服务器教程
2971 5
|
域名解析 缓存 网络协议
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
|
安全 网络安全
用IE浏览器访问网站提示证书错误
当你在Internet Explorer中遇到证书错误提示,通常是因网站SSL/TLS证书问题或浏览器安全设置需调整。解决方法包括: 检查时间设置 调整IE设置 安装证书 调整计算机时间
1361 3
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
Windows7电脑启动时提示文件winload.exe无法验证其数字签名,错误代码0xc0000428的解决方法
|
网络虚拟化 Windows
Windows 10 Windows1011出现0x80190001错误解决方案! Windows微软账户无法登录问题 Microsoft Store商店用不了
Windows 10 Windows1011出现0x80190001错误解决方案! Windows微软账户无法登录问题 Microsoft Store商店用不了
1033 1
|
消息中间件 Kafka 网络安全
【Azure Developer】在Azure VM (Windows) 中搭建 kafka服务,并且通过本地以及远程验证 发送+消费 消息
【Azure Developer】在Azure VM (Windows) 中搭建 kafka服务,并且通过本地以及远程验证 发送+消费 消息
165 0