`

使用HttpComponents获取整个页面的内容

    博客分类:
  • Java
阅读更多

commons-httpclient已经不再更新了,

httpcomponents是commons-httpclient后继项目。

本方法的目的是使用httpcomponents-client-4.0.1获取整个页面的内容

稍微修改了一下examples中的ClientAbortMethod

【添加代码已用注释标注,就是读个输入流,也没啥的】

java 写道
/*
* ====================================================================
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* .
*
*/

package org.apache.http.examples.client;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

/**
* This example demonstrates how to abort an HTTP method before its normal completion.
*/
public class MyClientAbortMethod {

public final static void main(String[] args) throws Exception {
HttpClient httpclient = new DefaultHttpClient();

HttpGet httpget = new HttpGet("http://www.apache.org/");

System.out.println("executing request " + httpget.getURI());
HttpResponse response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();

System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
if (entity != null) {
System.out.println("Response content length: " + entity.getContentLength());

//start 读取整个页面内容
InputStream is = entity.getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
StringBuffer buffer = new StringBuffer();
String line = "";
while ((line = in.readLine()) != null) {
buffer.append(line+"\n");
}
//end 读取整个页面内容



System.out.println(buffer.toString());
}
System.out.println("----------------------------------------");

// Do not feel like reading the response body
// Call abort on the request object
httpget.abort();

// When HttpClient instance is no longer needed,
// shut down the connection manager to ensure
// immediate deallocation of all system resources
httpclient.getConnectionManager().shutdown();
}

}


 
0
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics