singlehttpconnectionmanager.java

来自「一个搜索引擎,希望对大家有用」· Java 代码 · 共 77 行

JAVA
77
字号
/* SingleHttpConnectionManager** $Id: SingleHttpConnectionManager.java,v 1.8 2005/10/10 09:31:18 gojomo Exp $** Created on Mar 8, 2004** Copyright (C) 2004 Internet Archive.** This file is part of the Heritrix web crawler (crawler.archive.org).** Heritrix is free software; you can redistribute it and/or modify* it under the terms of the GNU Lesser Public License as published by* the Free Software Foundation; either version 2.1 of the License, or* any later version.** Heritrix is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the* GNU Lesser Public License for more details.** You should have received a copy of the GNU Lesser Public License* along with Heritrix; if not, write to the Free Software* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/package org.archive.httpclient;import java.io.IOException;import java.io.InputStream;import org.apache.commons.httpclient.HostConfiguration;import org.apache.commons.httpclient.HttpConnection;import org.apache.commons.httpclient.SimpleHttpConnectionManager;/** * An HttpClient-compatible HttpConnection "manager" that actually * just gives out a new connection each time -- skipping the overhead * of connection management, since we already throttle our crawler * with external mechanisms. * * @author gojomo */public class SingleHttpConnectionManager extends SimpleHttpConnectionManager {    public SingleHttpConnectionManager() {        super();    }    public HttpConnection getConnectionWithTimeout(        HostConfiguration hostConfiguration, long timeout) {        HttpConnection conn = new HttpConnection(hostConfiguration);        conn.setHttpConnectionManager(this);        conn.getParams().setDefaults(this.getParams());        return conn;    }    public void releaseConnection(HttpConnection conn) {        // ensure connection is closed        conn.close();        finishLast(conn);    }    static void finishLast(HttpConnection conn) {        // copied from superclass because it wasn't made available to subclasses        InputStream lastResponse = conn.getLastResponseInputStream();        if (lastResponse != null) {            conn.setLastResponseInputStream(null);            try {                lastResponse.close();            } catch (IOException ioe) {                //FIXME: badness - close to force reconnect.                conn.close();            }        }    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?