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

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

my blog


本文转自 lu xu 博客园博客,原文链接:http://www.cnblogs.com/dotLive/archive/2006/04/27/386971.html    ,如需转载请自行联系原作者
相关文章
|
前端开发 JavaScript 应用服务中间件
【Docker篇】vue前端项目部署
首先打包编译生成一系列的静态文件(dist),然后把这些文件scp(放)到远程部署的服务器中,放完之后配置nginx指向到你存放静态资源的目录,完成nginx指向才能保证请求能访问到相应的资源
899 0
【Docker篇】vue前端项目部署
|
算法 数据可视化 Linux
Linux内核编译:深入理解`make menuconfig`命令
Linux内核编译:深入理解`make menuconfig`命令
914 0
|
数据库连接
若依框架----进销存系统(一)
若依框架----进销存系统(一)
1382 1
|
存储 NoSQL 搜索推荐
若依框架----源码分析(@RateLimiter)
若依框架----源码分析(@RateLimiter)
935 0
|
Java
Java实现画K线图
Java实现画K线图
747 0
|
数据可视化 JavaScript 前端开发
BPMN 2.0 建模符号图标介绍说明
BPMN 2.0 建模符号图标介绍说明
1184 0
|
Java 数据安全/隐私保护 Spring
SpringSecurity6从入门到实战之SpringSecurity整合自动装配详解(源码级别讲解,耐心)
该内容是关于SpringSecurity在SpringBoot中的自动配置详解。文章首先提出问题:SpringSecurity如何在引入依赖后使所有请求需认证并显示登录表单。接着,它探讨了SpringBoot的自动装配原理,从@SpringBootApplication注解开始,深入到@EnableAutoConfiguration的实现,解释了如何通过扫描jar包中的.imports文件来加载自动配置类。特别提到了SpringBootWebSecurityConfiguration类,该类默认设置为对所有请求进行认证,并支持表单和Basic认证。
|
7月前
|
druid Java 关系型数据库
Spring Boot与Druid升级解决方案
好的,我需要帮助用户解决他们遇到的数据库连接问题,并升级项目的依赖。首先,用户提供的错误信息是关于Spring Boot应用在初始化数据源时抛出的异常,具体是Druid连接池验证连接失败。同时,用户希望升级项目的依赖版本。
743 10
|
11月前
|
人工智能 JavaScript 前端开发
你可能不敢想象,2025 年,jQuery要更新到 4.0 了
jQuery,由 John Resig 于2006年创建,曾帮助无数开发者简化DOM操作、事件处理和动画效果。历经19年,即便在React、Vue等现代框架盛行的今天,jQuery仍在更新。最新版4.0.0 Beta已推出,修复问题、提升性能并加入新特性,展示了其适应时代的能力。jQuery不仅是技术的坚持,更是文化和精神的传承,见证了众多开发者的青春。
529 11
|
Java Spring 开发者
Java Web开发新潮流:Vaadin与Spring Boot强强联手,打造高效便捷的应用体验!
【8月更文挑战第31天】《Vaadin与Spring Boot集成:最佳实践指南》介绍了如何结合Vaadin和Spring Boot的优势进行高效Java Web开发。文章首先概述了集成的基本步骤,包括引入依赖和配置自动功能,然后通过示例展示了如何创建和使用Vaadin组件。相较于传统框架,这种集成方式简化了配置、提升了开发效率并便于部署。尽管可能存在性能和学习曲线方面的挑战,但合理的框架组合能显著提升应用开发的质量和速度。
455 0