httpclient4 웹 페이지 캡처
4298 단어 httpclient
코드를 입력합니다.나누다
TEbInformationModel model = new TEbInformationModel();
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter("http.protocol.content-charset",HTTP.UTF_8);
httpclient.getParams().setParameter(HTTP.CONTENT_ENCODING, HTTP.UTF_8);
httpclient.getParams().setParameter(HTTP.CHARSET_PARAM, HTTP.UTF_8);
httpclient.getParams().setParameter(HTTP.DEFAULT_PROTOCOL_CHARSET,HTTP.UTF_8);
httpclient.getParams().setParameter(HTTP.CONTENT_TYPE, HTTP.UTF_8);
HttpPost httppost = new HttpPost(httpurl);
httppost.setHeader("Accept-Language", "zh-cn,zh;q=0.5");
httppost.setHeader("Accept-Charset", "GB2312,utf-8;q=0.7,*;q=0.7");
httppost.getParams().setParameter("http.protocol.content-charset",HTTP.UTF_8);
httppost.getParams().setParameter(HTTP.CONTENT_ENCODING, HTTP.UTF_8);
httppost.getParams().setParameter(HTTP.CHARSET_PARAM, HTTP.UTF_8);
httppost.getParams().setParameter(HTTP.DEFAULT_PROTOCOL_CHARSET, HTTP.UTF_8);
httppost.getParams().setParameter(HTTP.CONTENT_TYPE, HTTP.UTF_8);
HttpResponse response = httpclient.execute(httppost);
InputStream is = response.getEntity().getContent();
BufferedReader br = new BufferedReader(new InputStreamReader(is,"GBK"));
StringBuffer sbf = new StringBuffer();
String line = null;
while ((line = br.readLine()) != null)
{
sbf.append(line);
}
/** */
br.close();
String title = getSubTitle(getStringNoBlank(getTitle(sbf.toString(),"title")));
String context = getSubContext(getStringNoBlank(getTitle(sbf.toString(),"content")));
String key = getSubKey(getStringNoBlank(getTitle(sbf.toString(),"key")));
System.out.println(" :"+title);
System.out.println(" :"+context);
System.out.println(" :"+key);
정규 일치 부분
private String getStringNoBlank(String str) {
if(str!=null && !"".equals(str)) {
Pattern p = Pattern.compile("\\s*|\t|\r|
");
Matcher m = p.matcher(str);
String strNoBlank = m.replaceAll("");
return strNoBlank;
}else {
return str;
}
}
public String getSubTitle(String str){
return str.substring(str.indexOf("<h1>")+4, str.lastIndexOf("</h1>"));
}
public String getSubContext(String str){
return str.substring(str.indexOf("<P>")+3, str.lastIndexOf("</P>"));
}
public String getSubKey(String str){
return str.substring(str.indexOf("</b>")+4, str.lastIndexOf("</p>"));
}
private String getTitle( String s,String type)
{
String regex = null;
String title = "";
final List<String> list = new ArrayList<String>();
if("title".equals(type)){
regex = "<div class=\"zz_leftneirong1\">.*?</h1>";
}else if("content".equals(type)){
regex = "<div class=\"zz_leftneirong4\" id=\"content\" name=\"content\">.*? </div>";
}else{
regex = " <p class=\"key\"><b> :</b>.*?</p>";
}
final Pattern pa = Pattern.compile(regex, Pattern.CANON_EQ);
final Matcher ma = pa.matcher(s);
while (ma.find())
{
list.add(ma.group());
}
for (int i = 0; i < list.size(); i++)
{
title = title + list.get(i);
}
return title;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
HttpClient 'GET' - 각도 단순화이봐, 친구들. 오늘 저는 API를 호출하는 Angular의 방법을 분석하고 싶습니다. 각 CRUD 작업에 대한 기사를 작성할 예정이므로 눈을 떼지 말고 팔로우하십시오! 이것이 기본이며 Angular 웹 사이트에서 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.