導入依賴
<dependency>
<groupId>org.jsoup</groupId>
<artifactId>jsoup</artifactId>
<version>1.10.3</version>
</dependency>
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public String doPost(String url, Map<String, String> param) {
// 創建Httpclient對象
CloseableHttpClient httpClient = HttpClients.createDefault();
CloseableHttpResponse response = null;
String resultString = "";
try {
// 創建Http Post請求
HttpPost httpPost = new HttpPost(url);
// 創建參數列表
if (param != null) {
List<NameValuePair> paramList = new ArrayList<>();
for (String key : param.keySet()) {
paramList.add(new BasicNameValuePair(key, param.get(key)));
}
// 模擬表單
UrlEncodedFormEntity entity = new UrlEncodedFormEntity(paramList,"utf-8");
httpPost.setEntity(entity);
}
// 執行http請求
response = httpClient.execute(httpPost);
resultString = EntityUtils.toString(response.getEntity(), "utf-8");
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
response.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return resultString;
}
/**
* 操作html字符串
* @param request
* @param response
* @throws IOException
*/
@GetMapping("newsInfo")
public void WStoHtml(HttpServletRequest request,HttpServletResponse response) throws IOException{
String url = request.getParameter("url");
//String url = "http://localhost:8082/bim/static/form2/ApplicationFormTable.htm";
String body = doPost(url,new HashMap<String, String>());//body爲獲取的html代碼
//System.out.println(body);
//System.out.println("11111");
Document doc = Jsoup.parse(body);
Elements es = doc.select("table");
for (Element element : es) {
element.html("123");//將table的內容替換爲123
}
for (Element element : es) {
System.out.println(element.html());
}
System.out.println(doc.outerHtml());
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.println(doc.outerHtml());
}