C# 模拟页面登录

using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace WebSiteLogin
{
    public class LoginOP
    {
        public void Login()
        {
            CookieContainer cc = new CookieContainer();

            Console.WriteLine("请输入你的用户名:");
            string userName = Console.ReadLine();
            Console.WriteLine("请输入你的密码:");
            string password = Console.ReadLine();

            string postData = string.Format("UserName={0}&Password={1}", userName, password);
            byte[] byteArray = Encoding.UTF8.GetBytes(postData); // 转化

            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(new Uri("http://localhost:10476/home/ApplyLogin"));
            webRequest.CookieContainer = cc;
            webRequest.Method = "POST";
            webRequest.ContentType = "application/x-www-form-urlencoded";
            webRequest.ContentLength = byteArray.Length;
            Stream newStream = webRequest.GetRequestStream();
            // Send the data.
            newStream.Write(byteArray, 0, byteArray.Length);    //写入参数
            newStream.Close();

            HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
            StreamReader sr = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            string text = sr.ReadToEnd();
            Console.WriteLine(text);

            Console.WriteLine("-------------------------------------------------------------");
            Console.WriteLine("返回结果:");
            Console.WriteLine("-------------------------------------------------------------");

            HttpWebRequest webRequest2 = (HttpWebRequest)WebRequest.Create(new Uri("http://localhost:10476/home/AuthenticationPage"));
            webRequest2.CookieContainer = cc;
            HttpWebResponse response2 = (HttpWebResponse)webRequest2.GetResponse();
            StreamReader sr2 = new StreamReader(response2.GetResponseStream(), Encoding.UTF8);
            string text2 = sr2.ReadToEnd();
            Console.WriteLine(text2);
        }

    }
}
时间: 2024-08-26 21:04:33

C# 模拟页面登录的相关文章

PHP 基于laravel框架获取微博数据之一 模拟新浪微博登录

参考资料:http://www.csuldw.com/2016/11/10/2016-11-10-simulate-sina-login/http://blog.csdn.net/fly_leopard/article/details/51148904http://www.tuicool.com/articles/uIJzYff http://blog.csdn.net/u010029983/article/details/46364113等 模拟新浪微博登录是抓取新浪数据的基础,网上的参考资料

【转载】.NET模拟POST登录并保持登录状态

好了,还是由于工作需要 要登录一个网站并且模拟点击下载某些东西 原理就是先对一个地址(地址是用户名和密码输入框所在的form的action对应的页面)进行POST提交用户名和密码(不考虑验证码,当然验证码也可以破解),用一个CookieContainer保持Response的cookie,保证了每次请求使用同一个已经登录的session. 本类部分代码来源于网上,功能有待完善,目前只实现了登录和登录后访问"后台"页面. 代码: public class LogingHelper { p

php 新浪通行证、新浪微博模拟统一登录 (后台网页抓取版) 2016

前几天做了一个Java的新浪通行证模拟登录测试.现在给大家一个php的新浪通行证.微博登录的示例:具体都有备注,大家阅读代码吧. <?php /** * tom 2016年4月12日10:37:08 模拟微博登录 */ class login_weibo { // 微博用户名称密码 private $username = ''; private $password = ''; //请求cookie private $request_cookie = ''; //预登陆返回json private

第三百三十三节,web爬虫讲解2—Scrapy框架爬虫—Scrapy模拟浏览器登录—获取Scrapy框架Cookies

第三百三十三节,web爬虫讲解2-Scrapy框架爬虫-Scrapy模拟浏览器登录 模拟浏览器登录 start_requests()方法,可以返回一个请求给爬虫的起始网站,这个返回的请求相当于start_urls,start_requests()返回的请求会替代start_urls里的请求 Request()get请求,可以设置,url.cookie.回调函数 FormRequest.from_response()表单post提交,第一个必须参数,上一次响应cookie的response对象,其

【转】使用java程序模拟页面发送http的post请求

在web应用程序中,一般都是通过页面发送http的post请求,但也可以使用java程序来模拟页面发送请求,代码如下: [java] view plaincopy import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.

Java语言使用HttpClient模拟浏览器登录

使用HttpClient来模拟浏览器登录网站,然后可以进行操作,比如发布信息等 第一步:获取实际的post网址,(不考虑复杂情况下) 1.需要使用到firefox的httpfox插件,httpfox中clear一下,然后start开始捕获 2.切换回网页的登录页面,开始输入自己的账号密码登录,登录成功后切回httpfox中stop,查看最近的post方法中包含的Post Data数据,和此post方法的url网址, 3.这样就得到了模拟登录时需要Post的数据参数(Parameter)和值(Va

C#模拟百度登录并到指定网站评论回帖(五)

前面的四篇已经说完了全部的模拟百度登录,接下来就是到指定的网站去发表评论,当然你也可能是获取其他信息,其实这些套路都是万变不离其宗的,弄懂之后觉得像这种请求-响应获取信息的功能实在很简单(想起当初走的弯路,真是太心酸了) 今天的详细评论过程就不多说了,这里就指出一下我在写这个功能的时候遭遇的问题,也正是这些问题导致陷入了困境.(主要是理论,有不懂的童鞋欢迎评论交流) 第一个问题:如果使用的百度登录网站,那么前面我们获取到BDUSS之后,到这里就要发生转换.因为我访问的网页,在访问主页的时候会通过

C#三种模拟自动登录和提交POST信息的实现方法

网页自动登录(提交Post内容)的用途很多,如验证身份.程序升级.网络投票等,以下是用C#实现的方法.       网页自动登录和提交POST信息的核心就是分析网页的源代码(HTML),在C#中,可以用来提取网页HTML的组件比较多,常用的用WebBrowser.WebClient.HttpWebRequest这三个.以下就分别用这三种方法来实现:      1.WebBrowser是个"迷你"浏览器,其特点是Post时不用关心Cookie.内置JS等问题       WebBrows

python模拟自动登录网站(urllib2)

不登录打开网页: import urllib2 request = urllib2.Request('http://www.baidu.com') response = urllib2.urlopen(request).read() print response 保存网页图片(https://www.baidu.com/img/bd_logo1.png): picurl = 'https://www.baidu.com/img/bd_logo1.png' #定义图片的url地址 req = ur