android与网页通信,获取502错误
我有一个朋友,他编写了一个servlet,只提供XML(只有XML,没有SOAP等,android与网页通信,获取502错误,android,xml,web-services,http,android-webservice,Android,Xml,Web Services,Http,Android Webservice,我有一个朋友,他编写了一个servlet,只提供XML(只有XML,没有SOAP等,内容类型:text/XML) 现在我正在尝试使用android访问它。如果我使用Firefox浏览页面,我可以很好地访问该页面,但是如果我使用android应用程序访问该页面,我会遇到HTTP502错误 我使用的代码是: AlertDialog alertDialog; HttpClient httpClient = new DefaultHttpClient(); HttpContext localContex
内容类型:text/XML
)
现在我正在尝试使用android访问它。如果我使用Firefox浏览页面,我可以很好地访问该页面,但是如果我使用android应用程序访问该页面,我会遇到HTTP502错误
我使用的代码是:
AlertDialog alertDialog;
HttpClient httpClient = new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
HttpGet httpGet = new HttpGet("x");
try {
HttpResponse response = httpClient.execute(httpGet, localContext);
alertDialog = new AlertDialog.Builder(view.getContext()).create();
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
alertDialog.setTitle("Response");
alertDialog.setMessage(response.getStatusLine().toString());
alertDialog.show();
alertDialog.setMessage(EntityUtils.toString(response.getEntity()));
alertDialog.show();
} catch (IOException e) {
alertDialog = new AlertDialog.Builder(view.getContext()).create();
alertDialog.setTitle("Sorry");
alertDialog.setMessage("There was a problem connecting to the login-service.");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
alertDialog.show();
}
还有什么推荐的方法可以解析XML吗?例如,如果其中有一个特定的标记,例如title、message、对于连接问题,我建议如下:代理或尝试连接的方法似乎有问题。通常它是一个代理,无法将请求转发到特定的服务器。但在这种情况下,你可以通过FireFox查看网站,这应该不是问题。不过,您可以尝试使用FireBug插件来分析该服务器上的请求。 无论如何,请尝试此方法而不是HttpGet:
HttpReq request = Http.getInstance().createRequest();
request.setUrl("URL");
request.setMethod("GET");
request.execute();
message = request.getResult();
您可以尝试的另一件事是,使用HttpGet并使用setFollowRedirects(true/false)方法。也许你必须关闭或打开它
对于XML问题,我建议使用这个站点:它帮助我解析一些RSS提要。就我个人而言,我更喜欢该站点上的SAX解析器(它们引入了一些技术)