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