zoukankan      html  css  js  c++  java
  • c#控制台实现post网站登录

    如题,首先我写了一个web页面来实现post登陆,只做演示,代码如下

     public void ProcessRequest(HttpContext context)
            {
                context.Response.ContentType = "text/plain";
                string name = context.Request.Params["username"];
                
                if (name == "1")
                {
                    context.Response.Write("ok");
                }
                else
                {
                    context.Response.Write("no");
                }
           
            }
    

    只要name是1就ok否则no

    简洁说下Get和post  get通过在网络地址中附加参数来完成数据的提交,可以在url地址中看到,而post则是在页面内容中填写参数来完成提交  F12看一下就是username=1&userpwd=1这种格式的, POST 中文数据的时候,先中文字符转换为编码后的 ASCII 码,然后提交到服务器,提交的时候可以说明编码的方式,用来使对方服务器能够正确的解析。

    然后控制台模拟一下  HttpWebRequest  HttpWenResponse

    HttpWebRequest类主要利用Http协议来和服务器交互,在Method中指定提交方式,GET或者POST

    代码如下

     static void Main(string[] args)
            {
                string name = "1";
                string postdata = "username=" + name;
                byte[] data = Encoding.UTF8.GetBytes(postdata);
                HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create("http://localhost:8022/login.ashx");
                webrequest.Method = "POST";
                webrequest.ContentType = "application/x-www-form-urlencoded";
                webrequest.ContentLength = data.Length;
                Stream stream = webrequest.GetRequestStream();
                stream.Write(data, 0, data.Length);
                stream.Close();
                HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();
                StreamReader sr = new StreamReader(webresponse.GetResponseStream(), Encoding.UTF8);
                string s = sr.ReadToEnd();
                Console.WriteLine(s);
            }
    

      结果自然ok  当把name改为2结果为no满足需求

    当然这只是一个很简单的模拟,也就是试验一下

  • 相关阅读:
    Linux下yum安装mysql
    centos下无法使用lsof命令"-bash: lsof: command not found"
    大数据与区块链的联系与区别
    java.lang.NullPointerException报错的几种情况
    算法概述
    区块链简史
    word导出失败问题
    [Python3网络爬虫开发实战] 1.9.5-Scrapyrt的安装
    [Python3网络爬虫开发实战] 1.9.3-Scrapyd-Client的安装
    [Python3网络爬虫开发实战] 1.9.2-Scrapyd的安装
  • 原文地址:https://www.cnblogs.com/ZyCoder/p/6670907.html
Copyright © 2011-2022 走看看