C#通过post发送接收数据流
发送数据流方法
/// <summary>
///
/// </summary>
/// <param name="url">目标url</param>
/// <param name="strPost">要发送的post字符串</param>
/// <returns>接收后返回值</returns>
private string PostXML(string url, string strPost)
{
string result = string.Empty;
//生成文件流
byte[] buffer = Encoding.UTF8.GetBytes(strPost);
//向流中写字符串
StreamWriter mywriter = null;
//根据url创建请求对象
HttpWebRequest objrequest = (HttpWebRequest)WebRequest.Create(url);
//设置发送方式
objrequest.Method = "POST";
//提交长度
objrequest.ContentLength = buffer.Length;
//发送内容格式
objrequest.ContentType = "text/xml";
try
{
mywriter = new StreamWriter(objrequest.GetRequestStream());
mywriter.Write(strPost);
}
catch (Exception)
{
result = "发送文件流失败!"; }
finally
{
mywriter.Close();
}
//读取服务器返回信息
HttpWebResponse objresponse = (HttpWebResponse)objrequest.GetResponse();
using (StreamReader sr = new StreamReader(objresponse.GetResponseStream()))
{
result = sr.ReadToEnd();
sr.Close();
}
return result;
}
调用方法发送
/// <summary>
///
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSendC_Click(object sender, EventArgs e)
{ //读取xml文件
string path = Server.MapPath("~/ProjectXML/2017-08-28/2017-08-28(2015A5037).xml");
string DsmpUrl = "http://10.1.12.4:8080/Default.aspx";
XmlDocument xd = new XmlDocument();
xd.Load(path); string aaa = xd.InnerXml; string bbb = PostXML(DsmpUrl, xd.InnerXml);
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "alert('" + bbb + "')", true);
}
接收方代码
protected void Page_Load(object sender, EventArgs e)
{
//if (!IsPostBack)
//{
// Response.Redirect("~/Admin/CreateVoucherXML4.aspx");
//} if (Request.RequestType == "POST")
{
//接收并读取POST过来的XML文件流
StreamReader reader = new StreamReader(Request.InputStream);
String xmlData = reader.ReadToEnd();
//把数据重新返回给客户端
//Response.Write(xmlData); Response.Write(DateTime.Now.ToString() + "测试成功!");
Response.End();
}
}
C#通过post发送接收数据流的更多相关文章
- Qt5 基于TCP传输的发送/接收文件服务器(支持多客户端)
一.实现功能 1.服务器端选择待发送的文件,可以是多个 2.开启服务器,支持多客户端接入,能够实时显示每个客户端接入状态 3.等待所有客户端都处于已连接状态时,依次发送文件集给每个客户端,显示每个客户 ...
- [转帖]Linux TCP/IP协议栈,数据发送接收流程,TCP协议特点
Linux TCP/IP协议栈,数据发送接收流程,TCP协议特点 http://network.51cto.com/art/201909/603780.htm 可以毫不夸张的说现如今的互联网是基于TC ...
- 安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制
安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制 socket 连接采用流的方式进行发送接收数据,采用thread线程的方式. 什么是线程? 详细代码介 ...
- outlook 2016 for windows 每次刷新发送接收邮件会弹出登陆界面
Q: outlook2016 for windows 每次刷新发送接收邮件会弹出登陆界面,office365 ProPlus 都是正常激活了,Word 和Excel都不存在此类问题 A: 排除用户的o ...
- 使用Netty进行Android与Server端通信实现文字发送接收与图片上传
ANOTHER TITLE: Let’s use netty to achieve text send and receive and image transfer to server based ...
- 从缓冲上看阻塞与非阻塞socket在发送接收上的区别
最近在网络上看到一些帖子以及回复,同时又搜索了一些网络上关于阻塞非阻塞区别的描述,发现很多人在描述两者的发送接收时操作返回以及缓冲区处理的区别时有不同程度的误解.所以我想写一篇文章来纠正错误,并作为记 ...
- 【Spring】使用Spring和AMQP发送接收消息(上)
讲AMQP之前,先讲下传统的JMS的消息模型,JMS中主要有三个参与者:消息的生产者.消费者.传递消息的通道(队列或者主题),两种消息模型如下:通道是队列: 通道是队列: 通道是主题: 在JMS中,虽 ...
- Spring使用MappingJackson2MessageConverter发送接收ActiveMQ消息
一.Spring使用JmsTemplate简化对JMS的访问 在JAVA对JMS队列访问中,使用默认的JMS支持将存在大量的检查型异常.通过Spring的支持,可以将所有的JMS的检查型异常转换为运行 ...
- 网络编程--使用UDP发送接收数据
package com.zhangxueliang.udp; import java.io.IOException; import java.net.DatagramPacket; import ja ...
随机推荐
- YTU 2574: 空白格式化
2574: 空白格式化 时间限制: 1 Sec 内存限制: 128 MB 提交: 233 解决: 118 题目描述 恭喜你进入了蓝桥杯总决赛,本次大赛采用了全自动机器测评系统. 如果你的答案与标准 ...
- Spring Bean状态(转)
Spring-beans的核心实体是BeanDefinition和BeanFactory.前者映射我们的定义,后者则是依据定义生产bean的工厂. 上图是spring beans的静态结构图,更多是 ...
- css content
before after demo 1 添加描述信息 div1:after{conent:"天假额外的文字"} 2 也可以显示元素的某些属性 <a class="d ...
- bzoj3544
set+贪心 感觉当div2C挺好的... set维护前缀和%m,当前答案为sum[r]-sum[l-1],我们当然希望sum[l-1]是sum[r]的后继或者最小的数,所以求出来比较一下就行了 #i ...
- [App Store Connect帮助]七、在 App Store 上发行(2.4)设定价格与销售范围:安排价格调整
如果您拥有<付费应用程序协议>,则可以为您的 App 安排随时间推移的价格调整.您可以安排具有明确开始日期和结束日期的定价调整,以及没有结束日期的永久性定价调整.例如,您可以设置一个为期 ...
- glance镜像服务
一.glance介绍: 因为云平台是提供Iass层的基础设施服务,我们拿到的是一台虚拟机,那么要用虚拟机的话必须有底层的镜像做支撑,所以说镜像的话也有一个服务来管理.但是我们云平台用的镜像不是装操作系 ...
- Poj 2516 Minimum Cost (最小花费最大流)
题目链接: Poj 2516 Minimum Cost 题目描述: 有n个商店,m个仓储,每个商店和仓库都有k种货物.嘛!现在n个商店要开始向m个仓库发出订单了,订单信息为当前商店对每种货物的需求 ...
- 使用VS2015打包winform程序安装包简单方法(不需要InstallShield)
转载自: DGPLM博客 使用VS2015打包winform程序安装包简单方法(不需要InstallShield)
- 题解报告:poj 1195 Mobile phones(二维BIT裸题)
Description Suppose that the fourth generation mobile phone base stations in the Tampere area operat ...
- 求N!尾数有多少个0。
方法一:假设N!=K*10M,K不能被10整除,那么N!尾数就有M个0.再对N!进行质因子分解:N!=2x*3y*5z...由于10=2*5,即每一对2和5相乘都可以得到1个0,所以M只与指数x.z有 ...