如何使用ASP.Net发送HTTP请求并且获取返回的XML 20
要求发送一条HTTP请求。然后对方会返回一个XML内容如何发送请求,并获取XML节点的值呢?是网页形式的。不是应用程序。...
要求发送一条HTTP请求。 然后对方会返回一个XML内容 如何发送请求,并获取XML节点的值呢?
是网页形式的。 不是应用程序。 展开
是网页形式的。 不是应用程序。 展开
6个回答
展开全部
你说的是在 客户端里浮环实验是在服务端里?
客户端的话,上面有人说了,是 AJAX ,也贴出了代码。。。
虽然兼容性不高,但可以解决你的问题。
如果是服务端的,你可以使用下面的方法获取对方返回的 XML ,然后再使用 xmldocument 等来处理 xml
/// <summary>
/// 获取发出请求,并获取网页源代码
/// </summary>
/// <param name="url"></param>
/// <param name="encoding">System.Text.Encoding</param>
/// <returns></returns>
public static string GetWebPage(string url, Encoding encoding)
{
HttpWebRequest request = null;
HttpWebResponse response = null;
StreamReader reader = null;
try
{
request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = HttpContext.Current.Request.Url.Host.ToString();
request.Timeout = 20000;
request.AllowAutoRedirect = false;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)
{
reader = new StreamReader(response.GetResponseStream(), encoding);
string html = reader.ReadToEnd();
return html;
}
}
catch { }
finally
{
if (response != null) { response.Close(); response = null; }
if (reader != null) { reader.Close(); }
if (request != null) { request = null; }
}
return string.Empty;
}
客户端的话,上面有人说了,是 AJAX ,也贴出了代码。。。
虽然兼容性不高,但可以解决你的问题。
如果是服务端的,你可以使用下面的方法获取对方返回的 XML ,然后再使用 xmldocument 等来处理 xml
/// <summary>
/// 获取发出请求,并获取网页源代码
/// </summary>
/// <param name="url"></param>
/// <param name="encoding">System.Text.Encoding</param>
/// <returns></returns>
public static string GetWebPage(string url, Encoding encoding)
{
HttpWebRequest request = null;
HttpWebResponse response = null;
StreamReader reader = null;
try
{
request = (HttpWebRequest)WebRequest.Create(url);
request.UserAgent = HttpContext.Current.Request.Url.Host.ToString();
request.Timeout = 20000;
request.AllowAutoRedirect = false;
response = (HttpWebResponse)request.GetResponse();
if (response.StatusCode == HttpStatusCode.OK && response.ContentLength < 1024 * 1024)
{
reader = new StreamReader(response.GetResponseStream(), encoding);
string html = reader.ReadToEnd();
return html;
}
}
catch { }
finally
{
if (response != null) { response.Close(); response = null; }
if (reader != null) { reader.Close(); }
if (request != null) { request = null; }
}
return string.Empty;
}
展开全部
用JQuery
<script type="text/jscript">
$(document).ready(function() {
$.ajax({
type: "POST",
url: "http://sellonline.canadapost.ca:30000",
data: $("#XMLRequest").val(),
error: function(){
alert('Error');
},
success: function(data) { //以下部分是解析XML
var statusCode="";
$(data).find('ratesAndServicesResponse ').each(function(){
statusCode += $(this).children("statusCode").text();
alert(statusCode);
});
var name="";
$(data).find('product ').each(function(){
name += $(this).children("rate").text();
name += '<br>';
$('#jieguo').html(name);
});
}//
});
});
</script>
不过还是建议你现研究下xmlhttprequest 核心的东西不懂的话 用JQuery比较类, 目前jquery已出到1.4 用起来很方便
<script type="text/jscript">
$(document).ready(function() {
$.ajax({
type: "POST",
url: "http://sellonline.canadapost.ca:30000",
data: $("#XMLRequest").val(),
error: function(){
alert('Error');
},
success: function(data) { //以下部分是解析XML
var statusCode="";
$(data).find('ratesAndServicesResponse ').each(function(){
statusCode += $(this).children("statusCode").text();
alert(statusCode);
});
var name="";
$(data).find('product ').each(function(){
name += $(this).children("rate").text();
name += '<br>';
$('#jieguo').html(name);
});
}//
});
});
</script>
不过还是建议你现研究下xmlhttprequest 核心的东西不懂的话 用JQuery比较类, 目前jquery已出到1.4 用起来很方便
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
前台的话用
<SCRIPT language="JavaScript">
// Client invoke WebService use HTTP POST request and response
function GetHelloWorld_HTTPPOST(i)
{
var URL = "URL";
var Params = "i=" + i;// Set postback parameters
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST",URL, false);
xmlhttp.SetRequestHeader ("Content-Type","application/x-www-form-urlencoded");
xmlhttp.SetRequestHeader ("Content-Length",Params.length);
xmlhttp.send(Params);
var x = xmlhttp.responseXML;
alert(x.childNodes[1].text);
//那么如何知道是否调用成功呢,状态为200说明调用成功,500则说明出错
alert(xmlhttp.Status);
alert(xmlhttp.StatusText);
}
</SCRIPT>
后台的话,XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("url");
很简单
<SCRIPT language="JavaScript">
// Client invoke WebService use HTTP POST request and response
function GetHelloWorld_HTTPPOST(i)
{
var URL = "URL";
var Params = "i=" + i;// Set postback parameters
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST",URL, false);
xmlhttp.SetRequestHeader ("Content-Type","application/x-www-form-urlencoded");
xmlhttp.SetRequestHeader ("Content-Length",Params.length);
xmlhttp.send(Params);
var x = xmlhttp.responseXML;
alert(x.childNodes[1].text);
//那么如何知道是否调用成功呢,状态为200说明调用成功,500则说明出错
alert(xmlhttp.Status);
alert(xmlhttp.StatusText);
}
</SCRIPT>
后台的话,XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("url");
很简单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string s = new System.Net.WebClient().DownloadString(uri);
获取节点用正则
获取节点用正则
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用JQuery吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询