UsingHttpClientInsideThread.java Source code

Java tutorial

Introduction

Here is the source code for UsingHttpClientInsideThread.java

Source

import org.apache.commons.httpclient.URI;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.methods.GetMethod;
import org.apache.commons.httpclient.HostConfiguration;

public class UsingHttpClientInsideThread {

    public static void main(String args[]) throws Exception {

        HttpClient client = new HttpClient();
        client.getParams().setParameter("http.useragent", "Test Client");

        HostConfiguration host = new HostConfiguration();
        host.setHost(new URI("http://localhost:8080", true));

        // first Get a big file
        MethodThread bigDataThread = new MethodThread(client, host, "/big_movie.wmv");

        bigDataThread.start();

        // next try and get a small file
        MethodThread normalThread = new MethodThread(client, host, "/");

        normalThread.start();
    }
}

class MethodThread extends Thread {

    private HttpClient client;
    private HostConfiguration host;

    private GetMethod method;

    public MethodThread(HttpClient client, HostConfiguration host, String resource) {
        this.client = client;
        this.host = host;
        this.method = new GetMethod(resource);
    }

    public void run() {
        System.err.println("Connecting to: " + host);
        try {
            client.executeMethod(host, method);
            method.getResponseBodyAsStream();
        } catch (Exception e) {
            System.err.println(e);
        } finally {
            method.releaseConnection();
        }
    }
}