HttpWebRequest post数据[xgluxv]

使用这个函数 就在用 HttpWebRequest post数据的时候解决了 中文乱码和空格的问题 在工作中碰到的 ^o^
        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 "";
            }

路漫漫其修远兮 吾将上下而求索

posted @ 2006-04-27 21:58 .Live 阅读(989) 评论(0)  编辑 收藏 网摘




标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-08-01 13:44 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: