可以通过url调用webservice的,在android中,不使用第三方SDK,直接通过URL带参数能调用吗?
可以通过url调用webservice的,在android中,不使用第三方SDK,直接通过URL带参数能调用吗?...
可以通过url调用webservice的,在android中,不使用第三方SDK,直接通过URL带参数能调用吗?
展开
1个回答
展开全部
可以哦,直接用HttpClient,http请求得到你在浏览器通过url带参数直接调用webservice的输出结果,对结果进行解析就行啦,如果是xml结构的解析起来就更方便了。
刚刚搜了下以前的代码,顺便贴上来,希望对你有帮助:
public static String httpPostWS(String serverURL, List<NameValuePair> params) {
HttpPost request = new HttpPost(serverURL);
String result = "";
try {
request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
// 发送请求
HttpResponse httpResponse = new DefaultHttpClient()
.execute(request);
// 解析返回数据
if (httpResponse.getStatusLine().getStatusCode() != 404) {
// 获得webService的返回信息
result = EntityUtils.toString(httpResponse.getEntity());
}
} catch (UnsupportedEncodingException e) {
Log.e(LOG_TAG, e.toString());
} catch (ClientProtocolException e) {
Log.e(LOG_TAG, e.toString());
} catch (IOException e) {
Log.e(LOG_TAG, e.toString());
} catch (Exception e) {
Log.e(LOG_TAG, e.toString());
}
return result;
}
刚刚搜了下以前的代码,顺便贴上来,希望对你有帮助:
public static String httpPostWS(String serverURL, List<NameValuePair> params) {
HttpPost request = new HttpPost(serverURL);
String result = "";
try {
request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
// 发送请求
HttpResponse httpResponse = new DefaultHttpClient()
.execute(request);
// 解析返回数据
if (httpResponse.getStatusLine().getStatusCode() != 404) {
// 获得webService的返回信息
result = EntityUtils.toString(httpResponse.getEntity());
}
} catch (UnsupportedEncodingException e) {
Log.e(LOG_TAG, e.toString());
} catch (ClientProtocolException e) {
Log.e(LOG_TAG, e.toString());
} catch (IOException e) {
Log.e(LOG_TAG, e.toString());
} catch (Exception e) {
Log.e(LOG_TAG, e.toString());
}
return result;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询