C# POST XML(修正中文乱码问题)
2023-09-14 09:03:15 时间
/// 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;
//创建一个流对象(用来读取响应对象的内容)
Stream repStream = null;
XmlTextReader objXmlReader;
//垃圾回收
System.GC.Collect();
req = (HttpWebRequest)WebRequest.Create(v_strURL);
# 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
将XmlDocument转化为string函数
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#中的AS、IS运算符与强制类型转换
提交(post)xml文件给指定url的2种方法 原文:提交(post)xml文件给指定url的2种方法 1 这段代码是在网上搜到的,拿来共享,项目正好要用到。其中的data你只需要传递一个xml字符串就可以 protected string PostXmlToUrl(string url,string data) { ...
ASP.NET通过http/https的POST方式,发送和接受XML文件内容 本文转载:http://hi.baidu.com/ysyhyt/item/5011ae39ce3cf49fb80c0395 本文参考:http://blog.csdn.net/ououou123456789/article/details/8672962 Response.End();//这一步是关键,不输出带Html标签的内容。
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/347157 HttpClient4 Post XML到一个服务器上 现在网上介绍的HttpClient基本上全是3.x版本的内容,HttpClient4的API变化相对3已经变化很大,对HttpClient4做了简单的研究后,完成了一个HttpClient4 Post XML功能。
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#中的AS、IS运算符与强制类型转换
提交(post)xml文件给指定url的2种方法 原文:提交(post)xml文件给指定url的2种方法 1 这段代码是在网上搜到的,拿来共享,项目正好要用到。其中的data你只需要传递一个xml字符串就可以 protected string PostXmlToUrl(string url,string data) { ...
ASP.NET通过http/https的POST方式,发送和接受XML文件内容 本文转载:http://hi.baidu.com/ysyhyt/item/5011ae39ce3cf49fb80c0395 本文参考:http://blog.csdn.net/ououou123456789/article/details/8672962 Response.End();//这一步是关键,不输出带Html标签的内容。
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lavasoft.blog.51cto.com/62575/347157 HttpClient4 Post XML到一个服务器上 现在网上介绍的HttpClient基本上全是3.x版本的内容,HttpClient4的API变化相对3已经变化很大,对HttpClient4做了简单的研究后,完成了一个HttpClient4 Post XML功能。
相关文章
- c# mysql executenonquery_c#数据四种执行方法(ExecuteNonQuery)
- c# 多线程并发-金三银四面试:C#.NET面试题高级篇2-多线程
- C#从实体对象集合中导出Excel的代码
- c#完美截断字符串代码(中文+非中文)
- C#下载文件(TransmitFile/WriteFile/流方式)实例介绍
- c#dataTable合并两个列到一个新列中的简单实例
- c#编写webservice服务引用实例分享
- 将文件夹下所有文件输出到日志文件中c#递归算法学习示例
- c#正反序列化XML文件示例(xml序列化)
- c#数据绑定之向查询中添加参数(.Net连接外部数据库)
- C#为配置文件加密的实现方法
- C#使用委托的步骤浅析
- C#实现让窗体永远在窗体最前面显示的实例
- C#中ref和out的区别浅析
- C#中在WebClient中使用post发送数据实现方法
- C#实现压缩HTML代码的方法
- C#对象为Null模式(NullObjectPattern)实例教程