ScalaでHttpClient Get

HTTP GET

Scala 2.7.7
Apache HttpComponents HttpClient 4.0

GET

val page = "http://www.yahoo.co.jp/"
val client = new DefaultHttpClient
try {
  val uri = new URI(page)
  val get = new HttpGet(uri)
  val response: HttpResponse = client.execute(get)
  if (response.getStatusLine.getStatusCode == HttpStatus.SC_OK) {
    val file = new File("test.html")
    val ba = EntityUtils.toByteArray(response.getEntity)
    FileUtils.writeByteArrayToFile(file, ba)
  }
} catch {
  case e: UnknownHostException => e.printStackTrace
  case e: IOException          => e.printStackTrace
  case e: URISyntaxException   => e.printStackTrace
}
client.getConnectionManager.shutdown

ResponseHandler

class DownloadResponseHandler(uri: URI) extends ResponseHandler[Boolean] {
  override def handleResponse(response: HttpResponse): Boolean = {
    try {
      if (response.getStatusLine.getStatusCode == HttpStatus.SC_OK) {
        val file = new File("test.html")
        val ba = EntityUtils.toByteArray(response.getEntity)
        FileUtils.writeByteArrayToFile(file, ba)
      }
      return true
    } catch {
      case e: IOException => e.printStackTrace
    }
    return false
  }
}

val page = "http://www.yahoo.co.jp/"
val client = new DefaultHttpClient
try {
  val uri = new URI(page)
  val get = new HttpGet(uri)
  client.execute[Boolean](get, new DownloadResponseHandler(uri))
} catch {
  case e: UnknownHostException => e.printStackTrace
  case e: IOException => e.printStackTrace
  case e: URISyntaxException => e.printStackTrace
}
client.getConnectionManager.shutdown

(Java) ResponseHandler

class DownloadResponseHandler implements ResponseHandler<Boolean> {
  private URI uri;
  DownloadResponseHandler(URI uri) {
    this.uri = uri;
  }
  @Override
  public Boolean handleResponse(HttpResponse response) {
    try {
      if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
        File file = new File("test.html");
        byte[] ba = EntityUtils.toByteArray(response.getEntity());
        FileUtils.writeByteArrayToFile(file, ba);
      }
      return Boolean.TRUE;
    } catch (IOException e) {
      e.printStackTrace();
    }
    return Boolean.FALSE;
  }
}

String page = "http://www.yahoo.co.jp/";
DefaultHttpClient client = new DefaultHttpClient();
try {
  URI uri = new URI(page);
  HttpGet get = new HttpGet(uri);
  client.execute(get, new DownloadResponseHandler(uri));
} catch (UnknownHostException e) {
  e.printStackTrace();
} catch (IOException e) {
  e.printStackTrace();
} catch (URISyntaxException e) {
  e.printStackTrace();
}
client.getConnectionManager().shutdown();

gist: 221181 - Apache HttpComponents HttpClient Get
gist: 222254 - Apache HttpComponents HttpClient Get ResponseHandler