使用java 模拟浏览器访问百度搜索
时间: 2023-06-20 22:04:51 浏览: 109
你可以使用Java中的HttpURLConnection类来模拟浏览器访问百度搜索。以下是一个简单的示例代码:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class BaiduSearch {
public static void main(String[] args) {
try {
// 搜索关键词
String keyword = "java";
// 编码关键词
String encodedKeyword = URLEncoder.encode(keyword, "UTF-8");
// 百度搜索地址
String baiduSearchUrl = "https://www.baidu.com/s?wd=" + encodedKeyword;
// 创建URL对象
URL url = new URL(baiduSearchUrl);
// 创建HttpURLConnection对象
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求方法
connection.setRequestMethod("GET");
// 设置请求头信息,模拟浏览器访问
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3");
// 获取响应状态码
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
// 获取响应数据
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
String inputLine;
StringBuilder response = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 输出响应数据
System.out.println(response.toString());
} else {
System.out.println("请求失败,响应状态码为:" + responseCode);
}
} catch (Exception e) {
System.out.println("请求失败,出现异常:" + e.getMessage());
}
}
}
```
运行该代码后,控制台会输出百度搜索结果的HTML代码。注意,这里只是一个简单的示例,实际应用中还需要处理一些异常情况,如网络异常、响应状态码非200等。
阅读全文