修正中文乱码问题后的C# POST XML

#region 发送xml文件给指定网址
/// <summary>
/// 发送xml文件给指定网址
/// </summary>
/// <param name="v_strURL">目标Url</param>
/// <param name="v_objXMLDoc">需要发送的数据(XmlDocument格式的)</param>
/// <returns>服务器响应</returns>
public static XmlDocument PostXMLTransaction(string v_strURL, XmlDocument v_objXMLDoc)
{
    //set max enough to avoid http request is used out -> avoid dead while get response
    ServicePointManager.DefaultConnectionLimit = 200;
    XmlDocument XmlResponse = null;
    HttpWebRequest req;
    HttpWebResponse rep = null;
    Stream reqStream = null;
    //创建一个流对象(用来读取响应对象的内容)
	//本文URL地址:http://www.bianceng.cn/Programming/csharp/201410/45571.htm
    Stream repStream = null;
    XmlTextReader objXmlReader;
    //垃圾回收
    System.GC.Collect();
    req = (HttpWebRequest)WebRequest.Create(v_strURL);
    try
    {
        # region Start HttpRequest
        byte[] bytes;
        //传递的值
        bytes = Encoding.UTF8.GetBytes(v_objXMLDoc.InnerXml);
        //传递的方法,必须要写,而已Get必须大写。
        req.Method = "POST";
        req.ContentLength = bytes.Length;
        //表头的格式必须要写,否则请求响应的页面得不到要传递的值
        req.ContentType = "text/xml;encoding='utf-8'";
        //把传递的值写到流中
        reqStream = req.GetRequestStream();
        reqStream.Write(bytes,0,bytes.Length);
        //必须要关闭请求
        reqStream.Close();
        #endregion End HttpRequest
        //创建一个响应对象,并从请求对象中得到响应对象的事例。
        rep = (HttpWebResponse)req.GetResponse();//此时程序才开始向目标网页发送Post请求
        //rep = req.GetResponse() as HttpWebResponse;
        #region Start HttpResponse
        //HttpStatusCode.OK,指示请求成功,且请求的信息包含在响应中
        if (rep.StatusCode == HttpStatusCode.OK)
        {
            //得到回应过来的流
            repStream = rep.GetResponseStream();
            //Load response stream into XMLReader
            objXmlReader = new XmlTextReader(repStream);
            XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load(objXmlReader);
            XmlResponse = xmldoc;
            objXmlReader.Close();
        }
        //响应关闭,要不会占用网络资源
        rep.Close();
        #endregion
    }
    catch (WebException we)
    {
       //异常处理
    }
    catch (Exception ex)
    {
        //异常处理
    }
    finally
    {
        //关闭连接
        reqStream.Close();
        repStream.Close();
        rep.Close();
        //释放对象
        objXmlReader = null;
        reqStream = null;
        repStream = null;
        rep = null;
        //objHttpWebRequest = null;
        if (req!= null)
        {
            req.Abort();
        }
    }
    return XmlResponse;
}
#endregion

小注:

1、Content-Type:很多时候无法解析就是Content-Type的问题。如果本身就是xml文件,请跳过这一步

动态生成的XML一定要将其设置为text/xml,否则默认就是text/html也就是普通的文本了。

2、HttpWebRequest在初始化的时候要先根据url进行创建,然后再设置Method和ContentType,然后再将请求的内容写进去,通过GetRequestStream来返回流,再向这个流中写请求内容便可以了。再通过request对象的GetResponse方法返回response对象,最后得到返回的数据流,这是通过GetResponseStream方法返回的,最后从这个流中读出返回的数据便ok了。

3、ServicePointManager.DefaultConnectionLimit Property:Gets or sets the maximum number of concurrent connections allowed by a ServicePoint object.

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c# 解析xml文件
, 对象
, null
, rep
, httpwebresponse
, 异常信息乱码
, xmldocument
, 中文内容null
, close
, xmljava流文件乱码
, HttpWebRequest 异常
, 中文修正
, HttpStatusCode
post请求中文乱码
linux中文乱码问题、ajax返回中文乱码问题、html页面中文乱码问题、中文乱码问题、jsp中文乱码问题,以便于您获取更多的相关知识。

时间: 2024-11-30 17:55:47

修正中文乱码问题后的C# POST XML的相关文章

utf-8-spring mvc json返回中文乱码 配置后依然不好使

问题描述 spring mvc json返回中文乱码 配置后依然不好使 <context:annotation-config /> <context:component-scan base-package="may.web.action"></context:component-scan> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMet

C# POST XML(修正中文乱码问题)

#region 发送xml文件给指定网址 /// <summary> /// 发送xml文件给指定网址 /// </summary> /// <param name="v_strURL">目标Url</param> /// <param name="v_objXMLDoc">需要发送的数据(XmlDocument格式的)</param> /// <returns>服务器响应</

不同的机器压缩后的ZIP压缩文件上传后,有的存在中文乱码,求帮忙分析分析。

问题描述 不同的机器压缩后的ZIP压缩文件上传后,有的存在中文乱码,求帮忙分析分析. 用了commons-compress-1.8.jar下的ZipArchiveInputStream 进行的压缩包解压处理,在不同机器上对同样文件进行压缩生成zip压缩包,有的机器生成的压缩包上传后中文就乱码,有的就不是乱码,求帮忙分析分析. 解决方案 7zip 压缩文件 分析

php文件打开后出现中文乱码有哪些原因?

问题描述 php文件打开后出现中文乱码有哪些原因? 我用sublime,设置了UTF-8,前几天刚装好还没事,昨晚写了个文件打开后发现中文全乱码了,有没有可能是插件的问题? 解决方案 哎呀,把问题给搞混了,这个问题主要的原因时windows的编码问题,用iconv函数解决 解决方案二: php文件本身的编码与网页的编码应匹配 a. 如果欲使用gb2312编码,那么php要输出头:header("Content-Type: text/html;charset=gb2312"),静态页面添

R语言写入文件后中文乱码

问题描述 R语言写入文件后中文乱码 在控制台录入a="你好",可以正常显示,但是read.table(a,"a.txt",fileEncoding="GBK")后,打开a.txt却显示:.请问如何避免这种情况,使"你好"可以正常写入a.txt 解决方案 虽然R语言不熟,但是read.table()应该是读文件吧! 你都没写过文件,a.txt当然没内容.

myeclipse装aptana插件后java源文件中文乱码

问题描述 myeclipse装aptana插件后java源文件中文乱码 刚装了aptana插件,原本用utf-8编码的java文件中的中文乱码,然后我看了下编辑的编码没变,文件的编码方式没变,但就是中文乱码.其它文件js.jsp.xml就没事!什么问题啊?? 解决方案 有人吗,弄了一天了,哎- 解决方案二: 可能是编码问题,你试试将编码换成GBK. 操作:window--->preferences--->General--->Workspace---->text file enco

ssm-MultipartFile 图片上传后中文乱码

问题描述 MultipartFile 图片上传后中文乱码 String filename = myfile.getOriginalFilename(); 原本文件名称:单身汪.jpg 获取:???è???±?.jpg 解决方案 form上传的?post请求?控制台输出编码集不一致?打个断点,看看是在怎么时候乱码的! 解决方案二: String filename = new String(myfile.getOriginalFilename().getBytes(),"编码名称");

到数据库验证用户后跳转页面,中文乱码问题,谢谢。。。

问题描述 到数据库验证用户后跳转页面,中文乱码问题,谢谢... 这是抓包后的:HTTP/1.1 200 OKServer: Apache-Coyote/1.1Content-Type: text/html charset=utf-8;charset=ISO-8859-1Content-Length: 63Date: Wed 07 Jan 2015 18:24:59 GMT ???? ????代码中 登录页面.验证页面.主页面 的设置:response.setContentType(""

使用Wordpress插件时出现中文乱码的解决方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 用wordpress建网站的好处就在于,可以使用N多主题和N多的插件,由于wordpress在国外的使用时期较长,很多插件都是国外的用户开发的.对于中文的支持不是很好.经常使用WP一定会遇到插件编码问题,今天影子给大家讲一下关于使用wordpress插件时出现中文乱码的解决方法. 一.起因: 今天就遇到一个插件,输入中文后,保存,查看,显示输