当前位置: 首页 > news >正文

提交(post)xml文件给指定url的2种方法

原文: 提交(post)xml文件给指定url的2种方法

1  这段代码是在网上搜到的,拿来共享,项目正好要用到。其中的data你只需要传递一个xml字符串就可以

protected   string   PostXmlToUrl(string   url,string   data)  
  {  
  HttpWebRequest   hwr   =   (HttpWebRequest)HttpWebRequest.Create(url);  
  hwr.Method   =   "POST";  
   
  Stream   stream   =   hwr.GetRequestStream();  
   
  StreamWriter   sw   =   new   StreamWriter(stream,System.Text.Encoding.UTF8);  
  sw.Write(data);  
  sw.Close();  
   
  stream   =   hwr.GetResponse().GetResponseStream();  
   
  StreamReader   sr   =   new   StreamReader(stream,System.Text.Encoding.UTF8);  
  string   ret   =   sr.ReadToEnd();  
  sr.Close();  
   
  return   ret;  
   
  }  

2  利用xmlhttp对象,来发送请求.
   StreamReader sr=new StreamReader(Server.MapPath(XMLPathFull));
   MSXML2.XMLHTTPClass xmlHttp = new MSXML2.XMLHTTPClass();  
   xmlHttp.open("post",strURL,false,"","");
 
   xmlHttp.setRequestHeader  ("Content-type","text/xml;charset=UTF-8");
   xmlHttp.send(sr.ReadToEnd());
   //得到response
   string backxmlstring=xmlHttp.responseText.ToString();


解读这个响应的话只需要2行代码,
byte[]   buf   =   Request.BinaryRead(Request.ContentLength);  
  string   str   =   System.Text.Encoding.UTF8.GetString(buf);  
这样就能得到。
其实以上代码就可以建立一个简单的服务器间的交互模式,模拟的b/s架构,跟使用webservice与服务器间交互差不多,soap和http其实比较类似的。

相关文章:

  • Why NO to: MySQL, Symfony, CakePHP, Smarty, etc.
  • grub引导程序
  • 不使用(a+b)/2这种方式,求两个数的平均值
  • 可以动态添加图片的轮播插件
  • nginx rewrite模块探究与实验
  • SpringMVC(六):Spring 整合quartz作业调度框架
  • ecshop中那些有意思的代码
  • 查看死锁原因 /data/anr/traces.txt
  • 如何删除 SQL Server 表中的重复行
  • Android 不通过USB数据线调试的方法
  • Android网络开发之OkHttp--基本用法GET
  • 查看Android应用包名package和入口activity名称
  • ueditor 最新版本【1.4.3.1】单独文件/图片上传处理方法
  • 【原创】sizeof运算符总结
  • Android客户端性能测试常见指标及测试方法--转载
  • CSS魔法堂:Absolute Positioning就这个样
  • Gradle 5.0 正式版发布
  • JavaScript DOM 10 - 滚动
  • laravel with 查询列表限制条数
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • MySQL主从复制读写分离及奇怪的问题
  • VUE es6技巧写法(持续更新中~~~)
  • 记录:CentOS7.2配置LNMP环境记录
  • 那些年我们用过的显示性能指标
  • 使用Swoole加速Laravel(正式环境中)
  • 优秀架构师必须掌握的架构思维
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • zabbix3.2监控linux磁盘IO
  • 如何在招聘中考核.NET架构师
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • #define 用法
  • #Lua:Lua调用C++生成的DLL库
  • #QT项目实战(天气预报)
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (bean配置类的注解开发)学习Spring的第十三天
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (一) springboot详细介绍
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)利用ant在Mac 下自动化打包签名Android程序
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • ***详解账号泄露:全球约1亿用户已泄露
  • .Net6使用WebSocket与前端进行通信
  • .net对接阿里云CSB服务
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • @Autowired @Resource @Qualifier的区别
  • @SuppressWarnings注解
  • [ Linux Audio 篇 ] 音频开发入门基础知识
  • [16/N]论得趣
  • [Android Pro] android 混淆文件project.properties和proguard-project.txt
  • [flask]http请求//获取请求头信息+客户端信息
  • [Hadoop in China 2011] Hadoop之上 中国移动“大云”系统解析
  • [hdu 3065] 病毒侵袭持续中 [AC自动机] [病毒特征码匹配]
  • [Hibernate] - Fetching strategies