发送数据流方法

  /// <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发送接收数据流的更多相关文章

  1. Qt5 基于TCP传输的发送/接收文件服务器(支持多客户端)

    一.实现功能 1.服务器端选择待发送的文件,可以是多个 2.开启服务器,支持多客户端接入,能够实时显示每个客户端接入状态 3.等待所有客户端都处于已连接状态时,依次发送文件集给每个客户端,显示每个客户 ...

  2. [转帖]Linux TCP/IP协议栈,数据发送接收流程,TCP协议特点

    Linux TCP/IP协议栈,数据发送接收流程,TCP协议特点 http://network.51cto.com/art/201909/603780.htm 可以毫不夸张的说现如今的互联网是基于TC ...

  3. 安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制

    安卓Socket连接实现连接实现发送接收数据,openwrt wifi转串口连接单片机实现控制 socket 连接采用流的方式进行发送接收数据,采用thread线程的方式. 什么是线程?  详细代码介 ...

  4. outlook 2016 for windows 每次刷新发送接收邮件会弹出登陆界面

    Q: outlook2016 for windows 每次刷新发送接收邮件会弹出登陆界面,office365 ProPlus 都是正常激活了,Word 和Excel都不存在此类问题 A: 排除用户的o ...

  5. 使用Netty进行Android与Server端通信实现文字发送接收与图片上传

    ANOTHER TITLE: Let’s use netty to achieve text send and receive and  image transfer to server based ...

  6. 从缓冲上看阻塞与非阻塞socket在发送接收上的区别

    最近在网络上看到一些帖子以及回复,同时又搜索了一些网络上关于阻塞非阻塞区别的描述,发现很多人在描述两者的发送接收时操作返回以及缓冲区处理的区别时有不同程度的误解.所以我想写一篇文章来纠正错误,并作为记 ...

  7. 【Spring】使用Spring和AMQP发送接收消息(上)

    讲AMQP之前,先讲下传统的JMS的消息模型,JMS中主要有三个参与者:消息的生产者.消费者.传递消息的通道(队列或者主题),两种消息模型如下:通道是队列: 通道是队列: 通道是主题: 在JMS中,虽 ...

  8. Spring使用MappingJackson2MessageConverter发送接收ActiveMQ消息

    一.Spring使用JmsTemplate简化对JMS的访问 在JAVA对JMS队列访问中,使用默认的JMS支持将存在大量的检查型异常.通过Spring的支持,可以将所有的JMS的检查型异常转换为运行 ...

  9. 网络编程--使用UDP发送接收数据

    package com.zhangxueliang.udp; import java.io.IOException; import java.net.DatagramPacket; import ja ...

随机推荐

  1. HDU1045 Fire Net —— 二分图最大匹配

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1045 Fire Net Time Limit: 2000/1000 MS (Java/Others)  ...

  2. Masonry 比例(multipliedBy)

    前言 说到iOS自动布局,有很多的解决办法.有的人使用xib/storyboard自动布局,也有人使用frame来适配.对于前者,笔者并不喜欢,也不支持.对于后者,更是麻烦,到处计算高度.宽度等,千万 ...

  3. uwsgi 配置 初试

    /************************************************************************************** * uwsgi 配置 初 ...

  4. 【转】Commonjs规范及Node模块实现

    前言: Node在实现中并非完全按照CommonJS规范实现,而是对模块规范进行了一定的取舍,同时也增加了少许自身需要的特性.本文将详细介绍NodeJS的模块实现 引入 nodejs是区别于javas ...

  5. python中coding:utf-8和setdefaultencoding区别

    这两个作用不一样, 1. # coding:utf-8 作用是定义源代码的编码. 如果没有定义, 此源码中是不可以包含中文字符串的.PEP 0263 -- Defining Python Source ...

  6. Swift4 构造体, 属性, 索引

    创建: 2018/02/19 完成: 2018/02/25 [任务表]TODO  构造体定义  定义的概要 struct 型名 { (变量/常量的定义) (构造函数的定义) (方法的定义) (其他定义 ...

  7. idea打开可选项目

    配置上面的即可

  8. 2018SCin tsyzDay2 模拟赛-动态规划(简单的)

    内心OS:简单?????还是我太弱了. 期望得分:100+100+0+0+0+0+随机暴力的点==200 实际得分:0+100+10+0+10+0==120 您知道我第一题为什么错了嘛??文件在混乱中 ...

  9. SQL标量函数-日期函数

    select day(createtime) from life_unite_product     --取时间字段的天值 select month(createtime) from life_uni ...

  10. [POI2007]山峰和山谷Grz

    Description FGD小朋友特别喜欢爬山,在爬山的时候他就在研究山峰和山谷.为了能够让他对他的旅程有一个安排,他想知道山峰和山谷的数量.给定一个地图,为FGD想要旅行的区域,地图被分为\(n\ ...