让一串字符串参数要通过 对方给你的地址 使用POST方式传递到对方那里,然后对方会返回给你XML内容,然后需要从这个XML中获取相关节点的值。整个过程对我而言相当难。因为以前从来没用过、 有没人发个参考,或者代码示例、
解决方案 »
- 单击在table中某一行按钮,怎么获得改行的数据?
- 请教ASP.NET(VB)中如何让首页里的左边调用我另一页写的取到数据的网页呢?
- asp.net 中怎么样将access和Excel数据批量导入SqlServer?
- 我这个购物车如何统计多本书价格和总价格。
- 请教大师,获取cookie的问题
- 数据库列名问题
- 在64位的win2003服务器上执行Excel导入时,报错:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
- 怎样在后台程序中获取 ajax无刷新绑定到dropdownlist或者其它控件 的值?谢谢!!
- 超级菜的net问题,给分!
- 测试
- 关于多个弹出窗口的刷新以及关闭问题
- autocomplete控件遮挡了文本框!!
http://msdn.microsoft.com/en-us/library/debx8sh9.aspx
/// Get Content of one page by Post Mothod
/// </summary>
/// <param name="url">address of page</param>
/// <param name="encoding">encode or charset</param>
/// <returns>the content of page</returns>
public static string Post(string url, string accept, string contentType, string referer, string language,string postContent, CookieContainer cc, Encoding encoding, out string returnUrl) {
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create(url);
req.CookieContainer = cc;
req.Accept = accept;
req.ContentType = contentType;
req.Referer = referer;
req.UserAgent = "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506; .NET CLR 3.5.21022)";
if (!string.IsNullOrEmpty(language)) {
req.Headers.Add("Accept-Language", language);
}
req.Headers.Add("UA-CPU", "x86");
req.AllowAutoRedirect = true;
req.UseDefaultCredentials = true;
req.Method = "POST"; if (!string.IsNullOrEmpty(postContent)) {
using(StreamWriter sw = new StreamWriter(req.GetRequestStream(),encoding)){
sw.Write(postContent);
sw.Flush();
}
}
using (HttpWebResponse res = (HttpWebResponse)req.GetResponse())
{
Stream response = res.GetResponseStream();
if (req.CookieContainer != null) {
res.Cookies = req.CookieContainer.GetCookies(req.RequestUri);
}
string responseUrl = res.ResponseUri.ToString();
returnUrl = responseUrl;
using (StreamReader sr = new StreamReader(response, encoding)) {
string content = sr.ReadToEnd();
Debug.WriteLine("GetHtml of url:" + returnUrl);
Debug.WriteLine(content);
return content;
}
}
}
关键是理解这个过程,才能写出万变的代码,以上仅供参考。
对方会返回以下格式的内容
<?xml version="1.0" encoding="gb2312" ?>
<ActionResult>
<xMsgID>309</xMsgID>
<xCode>1012</xCode>
<xMessage>参数错误</xMessage>
<xSign>245f5ffdbb0321bf2b682b5e404d894e</xSign>
<xValue>0</xValue>
</ActionResult>
然后取出关键的几个节点的值。就是这整个过程如何使用代码描述下来。