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