使用HttpWebRequest POST数据到服务器上

HTTP协议中,向服务器传递参数的几个位置是: HTTP Header / GET的字符串 / POST中间的Body
下面的示例代码演示如何简单的POST数据到服务器.

//  发送请求
string  requestBody  =   string .Format( " {0}={1}&{2}={3}&{4}={5}&{6}={7}&{8}={9} "
    , HttpUtility.UrlEncode(
" version_id " , Encoding.GetEncoding( " GB2312 " ))
    , HttpUtility.UrlEncode(m_VersionNo, Encoding.GetEncoding(
" GB2312 " ))
    , HttpUtility.UrlEncode(
" merchant_id " , Encoding.GetEncoding( " GB2312 " ))
    , HttpUtility.UrlEncode(m_MerchantID, Encoding.GetEncoding(
" GB2312 " ))
    , HttpUtility.UrlEncode(
" verifystring " , Encoding.GetEncoding( " GB2312 " ))
    , HttpUtility.UrlEncode(hashStr.ToString().ToLower(), Encoding.GetEncoding(
" GB2312 " ))
    , HttpUtility.UrlEncode(
" order_date " , Encoding.GetEncoding( " GB2312 " ))
    , HttpUtility.UrlEncode(m_OrderDate, Encoding.GetEncoding(
" GB2312 " ))
    , HttpUtility.UrlEncode(
" order_id " , Encoding.GetEncoding( " GB2312 " ))
    , HttpUtility.UrlEncode(m_OrderID, Encoding.GetEncoding(
" GB2312 " ))
    , HttpUtility.UrlEncode(
" retmode " , Encoding.GetEncoding( " GB2312 " ))
    , 
string .Empty
    );

HttpWebRequest request 
=  (HttpWebRequest)HttpWebRequest.Create(m_GatewayURL);
request.Method 
=   " POST " ;
request.KeepAlive 
=   false ;
request.ContentType 
=   " application/x-www-form-urlencoded " ;
byte [] aryBuf  =  Encoding.GetEncoding( " GB2312 " ).GetBytes(requestBody);
request.ContentLength 
=  aryBuf.Length;
using (Stream writer  =  request.GetRequestStream())
ExpandedBlockStart.gifContractedBlock.gif
{
    writer.Write(aryBuf, 
0, aryBuf.Length);
    writer.Close();
    writer.Dispose();
}

string  ret  =   string .Empty;
using  (WebResponse response  =  request.GetResponse())
ExpandedBlockStart.gifContractedBlock.gif
{
    StreamReader reader 
= new StreamReader( response.GetResponseStream()
        , Encoding.GetEncoding(
"GB2312")
        );   
    ret 
= reader.ReadToEnd();
    reader.Close();
    reader.Dispose();
}

转载于:https://www.cnblogs.com/jame-peng1028/archive/2009/02/12/1388906.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值