public void postFormRaw(string pUrl, Dictionary<string, string> pHeaders, RecvDataHandler pRecvDataHandler)
{
HttpWebRequest vWebReq = null;
HttpWebResponse vWebResp = null;
try
{
vWebReq = (HttpWebRequest)WebRequest.Create(pUrl);
}
catch (Exception ex)
{
if (pRecvDataHandler != null)
{
pRecvDataHandler(ResponseInfo.invalidRequest(ex.Message), null);
}
return;
}
try
{
vWebReq.UserAgent = this.getUserAgent();
vWebReq.AllowAutoRedirect = false;
vWebReq.Method = "POST";
vWebReq.ContentType = FORM_MIME_URLENCODED;
if (pHeaders != null)
{
foreach (KeyValuePair<string, string> kvp in pHeaders)
{
if (!kvp.Key.Equals("Content-Type"))
{
vWebReq.Headers.Add(kvp.Key, kvp.Value);
}
}
}
//fire request
vWebResp = (HttpWebResponse)vWebReq.GetResponse();
handleWebResponse(vWebResp, pRecvDataHandler);
}
catch (Exception exp)
{
if (pRecvDataHandler != null)
{
pRecvDataHandler(ResponseInfo.networkError(exp.Message), null);
}
}
finally
{
if (vWebResp != null)
{
vWebResp.Close();
vWebResp = null;
}
if (vWebReq != null)
{
vWebReq.Abort();
vWebReq = null;
}
}
}