Die Programmiersprache Ruby

Blog| Forum| Wiki  

Inhaltsverzeichnis

Code: HTTP Seite einlesen mit net/http

1
2
3
4
5
6
7
8
9
10
require 'net/http'

con = Net::HTTP.new("www.heise.de")
resp = con.get("/newsticker/meldung/57981")

if resp.code == "200"
    print resp.body
else
    print "Fehler: " + resp.code + " " + resp.message
end


Anmerkungen

Open-URI

Für einfache Zugriffe eignet sich Open-URI sehr gut, weil die Schnittstelle ähnlich wie ein File-Zugriff funktionert. Beispielsweise wird Kernel#open um die Möglichkeit, Websites zu öffnen, erweitert.

1
2
3
require "open-uri"

puts open("http://wiki.ruby-portal.de/CodeReadHTTP"){|html| html.read}


Siehe: http://www.ruby-doc.org/stdlib/libdoc/open-uri/rdoc/index.html

Httpclient

Die httpclient Bibliothek erledigt vieles automatisch was mit 'net/http' manuel erledigt werden muß (http redirects, proxy).

1
2
3
require "httpclient"
$clnt = HTTPClient.new
result = $clnt.get_content(url)


Siehe: http://rubydoc.info/gems/httpclient/2.2.4/HTTPClient