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;
}