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 "";
                }

  • 相关阅读:
    连接AI与用户,京东云推出视音频通信技术方案
    我身边的高T,问了Java面试者这样的问题......
    解密协议层的攻击——HTTP请求走私
    产业实践推动科技创新,京东科技集团3篇论文入选ICASSP 2021
    2021年人工智能数据采集标注行业四大趋势预测;清华提出深度对齐聚类用于新意图发现
    京东科技集团21篇论文高票入选国际顶会AAAI 2021
    别困惑,不是你的错!90%的开发者把Clubhouse看成了Clickhouse
    京东App Swift 混编及组件化落地
    对话京东科技算法科学家吴友政:回望2020,NLP技术发展速度强劲
    关于京东技术,你想了解的都在这里丨征文活动获奖及优秀专栏推荐
  • 原文地址:https://www.cnblogs.com/lljinz/p/2244124.html
Copyright © 2011-2022 走看看