/// <summary>
/// 通过HTTP方式发送数据
/// </summary>
/// <param name="url">地址</param>
/// <param name="data">数据</param>
/// <returns></returns>
public DataSet PostXmlToUrl(string url, string data)
{
DataSet ds = new DataSet();
try
{
HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);
hwr.Method = "POST";
return XmlToUrl(data, ref ds, hwr);
}
catch (Exception ex)
{
Log.Error(ex);
}
return null;
}
/// <summary>
/// 通过HTTP方式发送数据
/// </summary>
/// <param name="url">地址</param>
/// <param name="data">数据</param>
/// <returns></returns>
public DataSet GetXmlToUrl(string url, string data)
{
DataSet ds = new DataSet();
try
{
HttpWebRequest hwr = (HttpWebRequest)HttpWebRequest.Create(url);
hwr.Method = "Get";
hwr.ContentType = "text/html;charset=utf-8";
HttpWebResponse response = (HttpWebResponse)hwr.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader sr = new StreamReader(stream, Encoding.GetEncoding("UTF-8"));
string ret = sr.ReadToEnd();
//Log.Debug(ret);
sr.Close();
stream.Close();
StringReader sRead = new StringReader(ret);
XmlTextReader xmlRead = new XmlTextReader(sRead);
ds.ReadXml(xmlRead);
sRead.Close();
xmlRead.Close();
}
catch (Exception ex)
{
Log.Error(ex);
Log.Error(data);
ds = null;
}
return ds;
}
private static DataSet XmlToUrl(string data, ref DataSet ds, HttpWebRequest hwr)
{
try
{
Stream stream = hwr.GetRequestStream();
StreamWriter sw = new StreamWriter(stream, System.Text.Encoding.UTF8);
if (data != "")
{
sw.Write(data);
sw.Close();
Log.Info("请求数据:" + data);
}
stream = hwr.GetResponse().GetResponseStream();
StreamReader sr = new StreamReader(stream, System.Text.Encoding.UTF8);
string ret = sr.ReadToEnd();
sr.Close();
sw.Close();
//if (ret.IndexOf("<?") > 0)
//{
//ret = ret.Substring(ret.IndexOf(">") + 1);
//}
Log.Info("返回数据:" + ret);
StringReader sRead = new StringReader(ret);
XmlTextReader xmlRead = new XmlTextReader(sRead);
ds.ReadXml(xmlRead);
sRead.Close();
xmlRead.Close();
}
catch (Exception ex)
{
Log.Error(ex);
Log.Error(data);
ds = null;
}
return ds;
}
傳入的數據為XML格式,由服務器返回的也是XML格式,把XML格式存入DATASET裡面!