7,655
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// POST数据
/// </summary>
/// <param name="strData">要POST的数据</param>
public void PostHttpWebRequest(string strData)
{
strMethod = "POST";
strSendData = strData;
webRequest = HttpWebRequest.Create(mUrl);
webRequest.Method = strMethod;
//webRequest.ContentType = "multipart/form-data";
//webRequest.UseDefaultCredentials = true;
var resBeginSend = (IAsyncResult)webRequest.BeginGetRequestStream(RequestSendCallback, webRequest);
}
/// <summary>
/// GET数据
/// </summary>
public void GetHttpWebRequest()
{
strMethod = "GET";
webRequest = HttpWebRequest.Create(mUrl);
webRequest.Method = strMethod;
// get 方法直接到Response函数
var resBeginSend = (IAsyncResult)webRequest.BeginGetResponse(MYTestResponseCallback, webRequest);
}
/// <summary>
/// Post方式返回数据响应
/// </summary>
/// <param name="result"></param>
private void RequestSendCallback(IAsyncResult result)
{
try
{
var request = (HttpWebRequest)result.AsyncState;
request.ContentType = "multipart/form-data";
var data = encode.GetBytes(strSendData);
Stream newStream = request.EndGetRequestStream(result);
newStream.Write(data, 0, data.Length);
newStream.Close();
var resGetResp = (IAsyncResult)request.BeginGetResponse(MYTestResponseCallback, request);
}
catch (Exception ex)
{ }
}
public void MYTestResponseCallback(IAsyncResult result)
{
try
{
var request = (HttpWebRequest)result.AsyncState;
var response = request.EndGetResponse(result);
WebHeaderCollection webHeader = response.Headers;
using (var stream = response.GetResponseStream())
{
StreamReader sr = new StreamReader(stream, Encoding.UTF8);
string str = sr.ReadToEnd();
sr.Close();
YYYDebug.Write("返回的数据信息:", str);
//HNetResultEventArgs ee = new HNetResultEventArgs(str);
//CompleteDataEventHandler(this, ee);
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(delegate()
{
HNetResultEventArgs ee = new HNetResultEventArgs(str);
CompleteDataEventHandler(this, ee);
//DownloadStringCompleted(this, new DownloadStringCompletedEventArgs(result));
});
done.Set();
}
}
catch (System.Exception e)
{
System.Windows.Deployment.Current.Dispatcher.BeginInvoke(delegate()
{
string dd = e.Message;
//HNetResultEventArgs ee = new HNetResultEventArgs(str);
//CompleteDataEventHandler(this, ee);
//DownloadStringCompleted(this, new DownloadStringCompletedEventArgs(result));
});
}
}