자바 파충류 노트
2295 단어 Java
그래서 HttpClient 로 네트워크 요청 을 보 내 고 파일 을 다운로드 하 는 것 을 기록 합 니 다.
public static void doPostWithParam(String postUrl, Map params,Mapheaders, String saveDir, String fileName) throws Exception{
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPost post = new HttpPost(postUrl);
List list = new ArrayList<>();
/**
* params
*/
params.forEach((key,value) -> {
list.add(new BasicNameValuePair(key,value));
});
StringEntity entity = new UrlEncodedFormEntity(list,"utf-8");
post.setEntity(entity);
/**
* Headers
*/
headers.forEach((key,value) -> {
post.addHeader(key,value);
});
CloseableHttpResponse response =httpClient.execute(post);
String string = EntityUtils.toString(response.getEntity());
try {
File file = new File(saveDir);
if(!file.exists()){
file.mkdirs();
}
file = new File(saveDir + fileName);
FileWriter fw = new FileWriter(file);
if(!file.exists()){
file.createNewFile();
}
BufferedWriter bw = new BufferedWriter(fw);
bw.write(string);
bw.close();
fw.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
response.close();
httpClient.close();
}
위의 도 구 는 url,params 의 map,headers 의 map 에 들 어가 파일 경 로 를 저장 하고 파일 이름 을 저장 합 니 다.
Map params = new HashMap<>();
Mapheaders = new HashMap<>();
headers.put("Cookie","...");
try {
doPostWithParam("https://oj.bnuz.edu.cn:8081/problem/" + sources[i][2],params,headers,"E:/JAVA/Java_Work_Idea/Spider/src/data/" + id + "/",id + ".html");
} catch (Exception e) {
e.printStackTrace();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.