http post常用请求

private void btnGo_Click(object sender, EventArgs e)
{
            try
            {
            string reqJsonString = txtPostData.Text;
            string respJsonString = null;

            Stream outstream = null;
            Stream instream = null;
            StreamReader streamReader = null;
            byte[] data;
            string destUrl = txtUrl.Text;
            HttpWebRequest request = WebRequest.Create(destUrl) as HttpWebRequest;
            request.ContentType = "application/json;charset=utf-8";
            request.Method = "POST";
            request.ServicePoint.Expect100Continue = false;


            //  不提供Unicode 字节顺序标记-false
            var utf8WithoutBom = new UTF8Encoding();
            data = utf8WithoutBom.GetBytes(reqJsonString);
            //                data = UTF8Encoding.Default.GetBytes(reqJsonString);
            request.ContentLength = data.Length;
            outstream = request.GetRequestStream();
            outstream.Write(data, 0, data.Length);
            outstream.Flush();
            outstream.Close();
            #region 同步调用
            // 发送请求并获取相应回应数据
            HttpWebResponse response = request.GetResponse() as HttpWebResponse;
            #endregion
            // 直到request.GetResponse()程序才开始向目标网页发送Post请求
            instream = response.GetResponseStream();
            streamReader = new StreamReader(instream, Encoding.UTF8);
            // 返回结果
            respJsonString = streamReader.ReadToEnd();
            if (!string.IsNullOrEmpty(respJsonString))
            {
              //  txtLog.Text = ConvertJsonString(respJsonString);
                JObject obj = JObject.Parse(respJsonString);

                string flag = obj["MbfService"]["output1"]["MbfBody"]["flag"].ToString();
                txtLog.Text = flag;
            }
            else
            {
                txtLog.Text = "返回结果为空";
            }
            }
            catch (Exception ex)
            {
                txtLog.Text = ex.Message;
            }
           
	}

   public string OpenReadWithHttps(string postUrl, string postdata, string postEncoding)
        {
            
            if (postUrl == null) throw new ArgumentNullException("postUrl");
            Encoding encoding = Encoding.UTF8;
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl);
            request.Method = "post";
            //request.Accept = "application/x-ms-application, application/json,image/jpeg, application/xaml+xml, image/gif, image/pjpeg, application/x-ms-xbap, */*";
            //request.UserAgent = "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)";
            request.ContentType = "application/x-www-form-urlencoded";
            request.ServicePoint.Expect100Continue = false;
  
            byte[] buffer = encoding.GetBytes(postdata);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(postEncoding)))
            {
                return reader.ReadToEnd();
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            StringBuilder transData = new StringBuilder(string.Empty);
            transData.Append("saData=");
            transData.Append(UrlEncode(txtPostData.Text, Encoding.UTF8));// 日志信息
            string str = transData.ToString();
            string retVal =OpenReadWithHttps("https://clicksit.ejg.cn/sa/phoneSDK5.gif", str, "GBK");
            txtLog.Text = retVal;
            
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值