zoukankan      html  css  js  c++  java
  • asp.net HttpWebRequest post 中文数据

     private static string  HttpPost()
            
    {
                
    string postData="username=中文&userid=838 jdkkd";//在发送的内容里包括中文和空格
                string Web=@"http://www.myweb.com/myresponse.asp";//地址
                postData=postData.Replace(" ","%20");//替换空格
                
    try
                
    {
                    
    //获取URL并进行发送字串
                    HttpWebRequest myHttpWebRequest =(HttpWebRequest)WebRequest.Create(Web);
                    
                    Stream myStream
    =new MemoryStream ();//定义这个Stream是只是为了得到发送字串 经过编码之后得到的

    byte的长度。
                    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;//如果字符串中存在中文 使用postData.Length得到长度和编码之

    //后的长度是不一样的:(
                    myHttpWebRequest.Method="POST";

                    Stream newStream
    =myHttpWebRequest.GetRequestStream();
                    myStreamWriter
    =new StreamWriter(newStream,Encoding.Default);//编码使用Encoding.Default 换来换去编码方法 还是用它得到的中文不会出现乱码,特别是把request("")得到的值写入sql数据库的时候 真是奇怪^O^

                    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 );
                    readStream.Close();
                    
    return "";
                                
                }

                
    catch(Exception e)
                
    {
                    
    return "";
                }

  • 相关阅读:
    计划给予心脏公式
    平原绫香 Hirahara Ayaka-Jupiter
    legend---十一、thinkphp事务中if($ans1&&$ans2){}else{}方式和try{}catch{}方式事务操作的区别在哪里
    chrome控制台常用技巧有哪些
    js中console强大之处体现在哪
    Pocket英语语法---五、形式主语是怎么回事
    智课雅思词汇---十二、vent是什么意思
    英语影视台词---八、the shawshank redemption
    Pocket英语语法---四、should的同义词是谁
    m_Orchestrate learning system---二十七、修改时如何快速找到作用位置
  • 原文地址:https://www.cnblogs.com/lljinz/p/2244124.html
Copyright © 2011-2022 走看看