Java11 调用webservice 天气服务
时间: 2024-05-25 19:07:23 浏览: 115
在Java 11中调用Web服务可以使用Java的内置库和一些第三方库来实现。下面是一种常见的方法来调用Web服务获取天气信息:
1. 首先,你需要创建一个Java项目,并添加相关的依赖库。在Java 11中,你可以使用Java自带的HTTP客户端库来发送HTTP请求。你可以在项目的pom.xml文件中添加以下依赖:
```xml
<dependencies>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
</dependencies>
```
2. 创建一个Java类来发送HTTP请求并获取天气信息。你可以使用HttpClient类来发送GET或POST请求,并处理返回的响应数据。以下是一个简单的示例代码:
```java
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class WeatherServiceClient {
public static void main(String[] args) {
try {
// 创建HttpClient对象
CloseableHttpClient httpClient = HttpClients.createDefault();
// 创建HttpGet请求
HttpGet httpGet = new HttpGet("http://api.weather.com/weather?city=beijing");
// 发送请求并获取响应
CloseableHttpResponse response = httpClient.execute(httpGet);
// 获取响应实体
HttpEntity entity = response.getEntity();
// 将响应实体转换为字符串
String responseString = EntityUtils.toString(entity);
// 打印响应结果
System.out.println(responseString);
// 关闭响应
response.close();
// 关闭HttpClient
httpClient.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
3. 替换URL中的"city=beijing"为你想要查询的城市代码或名称。
以上代码示例了如何使用Java 11的HttpClient库发送GET请求并获取响应数据。你可以根据具体的Web服务接口和数据格式进行相应的调整。
阅读全文