Skip to content

Instantly share code, notes, and snippets.

@angelikatyborska
Created July 2, 2019 15:19
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save angelikatyborska/bb463a7261a021cbfc4cda9410f63f49 to your computer and use it in GitHub Desktop.
Save angelikatyborska/bb463a7261a021cbfc4cda9410f63f49 to your computer and use it in GitHub Desktop.
HTTP(S) request via socket in Ruby
# HTTP
sock = TCPSocket.new('example.com', 80);
sock.write("GET /path HTTP/1.1\r\nHost: example.com\r\nConnection: close\r\n\r\n");
puts sock.read;
sock.close;
# HTTPS
sock = TCPSocket.new('example.com', 443)
sslsock = OpenSSL::SSL::SSLSocket.new(sock)
sslsock.connect
sslsock.write("GET /path HTTP/1.1\r\nHost: example.com\r\nConnection: close\r\n\r\n")
puts sslsock.read
sslsock.close
sock.close
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment