• 通过post方法远程获取一个页面


       //通过post方法远程获取一个页面;web:页面的路径;postData:post的数据信息
        public static string Post(string Web, string postData)
        {
            string str = ""; //要返回的结果
            postData = postData.Replace(" ", "%20");//替换空格
            try
            {
                //获取URL并发送字串
                HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(Web);
                //定义这个Stream是只是为了得到发送字串 经过编码之后得到的byte的长度。
                //因为如果字符串中存在中文 使用postData.Length得到长度和编码之后的长度是不一样的
                Stream myStream = new MemoryStream();
                StreamWriter myStreamWriter = new StreamWriter(myStream, Encoding.Default);//用默认编码 得到Stream               
                myStreamWriter.Write(postData);
                myStreamWriter.Flush();
                long len = myStream.Length;//目的完成
                myStreamWriter.Close();//关闭流
                myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";//请求的类型
                myHttpWebRequest.ContentLength = len;//长度
                myHttpWebRequest.Method = "POST";//方式
                Stream newStream = myHttpWebRequest.GetRequestStream();//得到请求数据流
                //编码使用Encoding.Default ,用它得到的中文不会出现乱码,特别是把request("")得到的值写入sql数据库的时候
                myStreamWriter = new StreamWriter(newStream, Encoding.Default);
                myStreamWriter.Write(postData);
                myStreamWriter.Close();
                //获取本次的回馈,先创建接收回馈的类HTTPWEBRESPONSE
                HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
                //创建接收回馈的字节流类
                Stream receiveStream = myHttpWebResponse.GetResponseStream();//得到回写的字节流
                Encoding encode = System.Text.Encoding.Default;//默认编码
                StreamReader readStream = new StreamReader(receiveStream, encode);
                str = readStream.ReadToEnd();//读出返回字符串
                readStream.Close();
                myHttpWebResponse.Close();//关闭资源
                return str;
            }
            catch (Exception e)
            {
                throw e;
            }
        }
  • 相关阅读:
    04-基本的mysql语句
    03-MySql安装和基本管理
    02-数据库的概述
    MySql的前戏
    Python3连接MySQL数据库之pymysql模块的使用
    mockjs简单易懂
    GitHub Android 开源项目汇总 (转)
    国内云计算的缺失环节: GPU并行计算(转)
    HDFS+MapReduce+Hive+HBase十分钟快速入门
    同步和异步
  • 原文地址:https://www.cnblogs.com/goldnet/p/1170400.html
Copyright © 2020-2023  润新知