c# post请求发送数据
/// <summary>
/// POST请求
/// </summary>
/// <param name="url">请求地址</param>
/// <param name="val">请求值</param>
/// <param name="encoding">编码格式</param>
/// <returns></returns>
public string GetHttpPostResponse(string url, string val, Encoding encoding)
{
string strResult = string.Empty;
try
{
HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(url);
myReq.Method = "Post";
myReq.ContentType = "application/x-www-form-urlencoded";
byte[] byteArray = encoding.GetBytes(val);
myReq.ContentLength = byteArray.Length;
Stream stream = myReq.GetRequestStream();
stream.Write(byteArray, 0, byteArray.Length);
stream.Close();
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
Stream myStream = HttpWResp.GetResponseStream();
StreamReader sr = new StreamReader(myStream, encoding);
strResult = sr.ReadToEnd(); }
catch{}
return strResult;
}

如果数据量过大,则建议使用流的方式

方法如下
byte[] bytes=null;
if(sType=="2")
{
bytes= Encoding.UTF8.GetBytes(sb.ToString());
}
else
{
bytes= Encoding.UTF8.GetBytes(sbd.ToString());
}
bool b =PostBaitourZrateModel(strurl,bytes);
/// <summary>
/// POST数据得到结果
/// </summary>
/// <param name="strUrl">URL</param>
/// <param name="strParm">参数</param>
/// <returns>string</returns>
private static bool PostBaitourZrateModel(string strUrl, byte[] strParm)
{
StringBuilder str = new StringBuilder();
bool isRec = false;
try
{
Encoding encode = System.Text.Encoding.UTF8;
HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create(strUrl);
myReq.Timeout = 900000;
myReq.Method = "POST";
myReq.ContentType = "multipart/form-data";
myReq.ContentLength = strParm.Length;
myReq.AllowWriteStreamBuffering = false;
Stream outStream = myReq.GetRequestStream();
outStream.Write(strParm, 0, strParm.Length);
outStream.Close();
WebResponse myResp = null;
myResp = myReq.GetResponse();
Stream ReceiveStream = myResp.GetResponseStream();
StreamReader readStream = new StreamReader(ReceiveStream, encode);
Char[] read = new Char[256];
int count = readStream.Read(read, 0, 256); while (count > 0)
{
str.Append(new String(read, 0, count));
count = readStream.Read(read, 0, 256);
}
readStream.Close();
myResp.Close();
if (str.ToString().ToUpper().IndexOf("SUCCESS") >= 0)
{
isRec = true;
}
}
catch (Exception ex)
{
isRec = false;
new Error().WriteFilesErrorLog(ex.Message,"12580消息通知");
} return isRec;
}


C#接收post请求的数据

	private string PostInput()
        {
            try
            {
                System.IO.Stream s = Request.InputStream;
                int count = 0;
                byte[] buffer = new byte[1024];
                StringBuilder builder = new StringBuilder();
                while ((count = s.Read(buffer, 0, 1024)) > 0)
                {
                    builder.Append(Encoding.UTF8.GetString(buffer, 0, count));
                }
                s.Flush();
                s.Close();                 return builder.ToString();
            }
            catch (Exception ex)
            { throw ex; }
        }

最新文章

  1. [原创]关于mybatis中一级缓存和二级缓存的简单介绍
  2. file-loader及url-loader的使用
  3. PBAP 1.0协议翻译(Part1)
  4. glctx.ClearColor 参数说明
  5. GreenDao官方文档翻译(下)
  6. 使用MATLAB生成模糊控制的离线查询表
  7. flex lineChart中自定义datatip
  8. JS实例——间歇循环滚动
  9. SpringMVC 国际化-中英文切换
  10. ORACLE PROC开发(转载)
  11. 【learning】二分图最大匹配的K&#246;nig定理
  12. C语言程序设计第一次作业1
  13. 3.5 find() 判断是否存在某元素
  14. linux python2.x 升级python3.x
  15. pycharm的一些快捷键
  16. javaweb中的文件上传的一般写法(初次接触时写)
  17. LabVIEW(五):DAQ同步
  18. layui(三)——laypage组件常见用法总结
  19. Centos7 Firewall 防火墙配置应用实例参考(转)
  20. 如何安装和配置RabbitMQ(转载)

热门文章

  1. Asset Catalog Creator Free 生成程序内图标的软件
  2. Nginx 内置变量,细化规则,真实IP获取及限制连接请求
  3. Codeforces 486D D. Valid Sets
  4. ASP.NET MVC3快速入门——第四节、添加一个模型
  5. 统计维护&lt;第四篇&gt;
  6. 本地存储组件--兼容IE低版本
  7. iOS更新之DFU模式和恢复模式
  8. JSTL学习笔记(核心标签)
  9. html_day2
  10. HTML 表格入门