Skip to content

Instantly share code, notes, and snippets.

@hryk
Created August 15, 2010 11:23
Show Gist options
  • Select an option

  • Save hryk/525380 to your computer and use it in GitHub Desktop.

Select an option

Save hryk/525380 to your computer and use it in GitHub Desktop.
#!/usr/bin/jruby
require 'rubygems'
require 'java'
require File.dirname(__FILE__) + "/../jars/httpcore-4.0.1.jar"
require File.dirname(__FILE__) + "/../jars/httpclient-4.0.1.jar"
require File.dirname(__FILE__) + "/../jars/httpmime-4.0.1.jar"
puts File.dirname(__FILE__) + "/../jars/httpclient-4.0.1.jar"
import "java.net.Socket"
import "org.apache.http.ConnectionReuseStrategy"
import "org.apache.http.HttpHost"
import "org.apache.http.HttpResponse"
import "org.apache.http.HttpVersion"
import "org.apache.http.impl.DefaultConnectionReuseStrategy"
import "org.apache.http.impl.DefaultHttpClientConnection"
import "org.apache.http.params.BasicHttpParams"
import "org.apache.http.message.BasicHttpRequest"
import "org.apache.http.params.HttpParams"
import "org.apache.http.params.HttpProtocolParams"
import "org.apache.http.protocol.BasicHttpProcessor"
import "org.apache.http.protocol.HttpContext"
import "org.apache.http.protocol.BasicHttpContext"
import "org.apache.http.protocol.ExecutionContext"
import "org.apache.http.protocol.HttpRequestExecutor"
import "org.apache.http.protocol.RequestConnControl"
import "org.apache.http.protocol.RequestContent"
import "org.apache.http.protocol.RequestExpectContinue"
import "org.apache.http.protocol.RequestTargetHost"
import "org.apache.http.protocol.RequestUserAgent"
import "org.apache.http.util.EntityUtils"
params = BasicHttpParams.new();
HttpProtocolParams.setVersion(params, HttpVersion.new(1,1));
HttpProtocolParams.setContentCharset(params, "UTF-8");
HttpProtocolParams.setUserAgent(params, "HttpComponents/1.1");
HttpProtocolParams.setUseExpectContinue(params, true);
host = HttpHost.new("www.google.co.jp", 80);
conn = DefaultHttpClientConnection.new();
request = BasicHttpRequest.new("GET", "/", HttpVersion.new(1,1))
if ! conn.isOpen()
socket = Socket.new(host.getHostName(), host.getPort())
conn.bind(socket, params)
end
context = BasicHttpContext.new(nil)
httpproc = BasicHttpProcessor.new
exec = HttpRequestExecutor.new
exec.preProcess(request, httpproc, context)
response = exec.execute(request, conn, context);
exec.postProcess(response, httpproc, context);
puts EntityUtils.toString(response.getEntity())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment