代码

using System;
using System.Net;
using System.IO;
using System.Text;

class Test
{
    [STAThread]
    static void Main(string[] args)
    {
        //

// TODO: 在此处添加代码以启动应用程序

//

string url = "http://localhost/csdn2/1.asp";

//            <%

//            if request("aa")="zhuye" then session("ok")="ok"

//            if session("ok")="ok" then

//            response.write("登录")

//            else

//            response.write("没有登录")

//            end if

//            %>

string indata = "aa=zhuye";
        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);
        //再次显示"登录"

//如果把*行注释调,就显示"没有登录"


}

注释写得很明确了,不多罗嗦了。 补充:如果是以get方式登录的话,直接修改url就可以了,indate可以不写任何东西。(不要去修改 myHttpWebRequest.Method为GET),比如把asp文件修改为 if request.querystring("aa")="zhuye" then session("ok")="ok",只要修改url为 string url="http://localhost/csdn2/1.asp?aa=zhuye";即可。

转载于:https://www.cnblogs.com/lishenglyx/archive/2009/12/14/1623806.html

如何向某网址Post信息,并得到CookieContainer以便以后直接通过验证相关推荐

  1. js获取当前页面url网址等信息

    使用js获取当前页面的url网址信息. 1.设置或获取整个 URL 为字符串: window.location.href 2.设置或获取与 URL 关联的端口号码: window.location.p ...

  2. 记录一次利用python调用chrome爬取天眼查网址工商信息的过程

    1.首先准备工作: 1.pyhton3.6(官网有下载).https://www.python.org/downloads/release/python-363/ 2.pycharm 2017 开发工 ...

  3. (winform cookie)如何向某网址Post信息,并得到CookieContainer以便以后直接通过验证...

    using System;using System.Net;using System.IO;using System.Text;class Test{static void Main(string[] ...

  4. python采集企查查企业信息,手工绕开企查查的登录验证

    想要从企查查爬取企业信息,如果没有登录直接检索,邮箱.电话都被隐藏了: 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多已经做案例 ...

  5. 华为手机NFC读取、存储身份证信息,eID (只能用于住店等验证,坐高铁刷了无效)

    步骤 ok 作用 华为NFC功能怎么用?没想到功能这么强大,以前手机白用了! 1.手机变成交通卡 2.手机变成银行卡 平时在搭公交的时候,是不是忘记带零钱了?扫二维码支付很不方便?手机文件在传输的时候 ...

  6. 2018-2019-2 20165315《网络攻防技术》Exp6 信息搜集与漏洞扫描

    2018-2019-2 20165315<网络攻防技术>Exp6 信息搜集与漏洞扫描 目录 一.实验内容 二.实验步骤 1.各种搜索技巧的应用 2.DNS IP注册信息的查询 3.基本的扫 ...

  7. 360导航源码php,114啦网址导航源码仿360网址导航最新版

    安装方法 1.上传网站安装程序到空间,空间需支持PHP,MYSQL数据库20M 即可. 2.访问网网址执行安装,按照提示填入mysql数据库信息. 3.安装时默认设置后台管理 用户:admin 密码: ...

  8. Knative 实战:三步走!基于 Knative Serverless 技术实现一个短网址服务

    短网址顾名思义就是使用比较短的网址代替很长的网址.维基百科上面的解释是这样的: 短网址又称网址缩短.缩短网址.URL 缩短等,指的是一种互联网上的技术与服务,此服务可以提供一个非常短小的 URL 以代 ...

  9. 数学之美 系列十三 信息指纹及其应用

    数学之美 系列十三 信息指纹及其应用 任何一段信息文字,都可以对应一个不太长的随机数,作为区别它和其它信息的指纹(Fingerprint).只要算法设计的好,任何两段信息的指纹都很难重复,就如同人类的 ...

最新文章

  1. 合并下载的Solaris镜像为DVD文件的方法
  2. 美多商城之购物车(购物车存储方案)
  3. 如何避免JSP文件中的Java代码?
  4. C++ 复数类运算符重载
  5. 机器人科迪的天空_机器人科迪的天空游戏评测:我要跳的更高
  6. Linux 查看显存带宽,Vega 20规格与Vega 10相近,显存带宽翻倍,但目前只能跑Linux - 超能网 - IT帮...
  7. 蓝桥杯基础模块7:PWM脉宽调制
  8. Renting Boats
  9. L2-003. 月饼-PAT团体程序设计天梯赛GPLT
  10. C++基础::shared_ptr 编程细节(二)
  11. 类似taobao的多彩选项卡tab
  12. 移植SlidingMenu Android library,和安装example出现的问题解决
  13. python 中断线程_如何编写快速且线程安全的Python代码
  14. DTCC2017第二天
  15. Error invoking sqlprovider method (tk.mybatis.mapper.provider.base.BaseselectProvider.dynamicSQL)解决
  16. Android maven-publish使用
  17. Flink从入门到真香(12、Flink一大利器-时间窗口)
  18. 水平垂直居中的几种方式
  19. Python——matplotlib中的乱七八糟(一)【注释,图例,tick能见度,移动坐标轴】
  20. 计算机类学生考试系统,学生在线考试系统.doc

热门文章

  1. python re 模块
  2. 手把手教你如何扩展GridView之个性分页
  3. 朝鲜黑掉韩国政府版 Word
  4. 调用内部类里,在静态类中调用动态方法的问题
  5. SQL 基础之单行函数(七)
  6. day2-Samba
  7. Android中如何查看内存(下)
  8. @AuotoWired+@Qualifier(百度百科)
  9. 如何学习一个新的系统
  10. 第四季 word vba