ACHTUNG. Das ist ein Archiv des alten forum.ruby-portal.de. Die aktuelle Mailingliste gibt es auf lists.ruby-lang.org/pipermail/ruby-de.

NOTICE. This is a ready-only copy of the old forum.ruby-portal.de. You can find the current mailing list at lists.ruby-lang.org/pipermail/ruby-de.

Die Programmiersprache Ruby

Blog|

Forum|

Wiki  


Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]

Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: HTML trotz Fehler lesen??
BeitragVerfasst: 16 Jul 2007, 18:03 
Offline
Nuby

Registriert: 13 Mär 2007, 22:22
Beiträge: 8
Hallo Forum!



1
2
3
4
5
6
7
8
9
10
# main.rb
# 16. Juli 2007
#
require 'net/http'
myPage = "udoshoutcast5.biz.tm"
h = Net::HTTP.new(myPage, 9022)
puts "Fetching: #{myPage}"
resp, data = h.get('/', nil )
puts "Got #{data}: #{resp.message}"



bricht mit:



1
2
3
4
5
6
7
8
9
10
11

Fetching: udoshoutcast5.biz.tm
E:/NetBeans/ruby1/jruby-0.9.8/lib/ruby/1.8/net/http.rb:2019:in `read_status_line': wrong status line: "ICY 200 OK" (Net::HTTPBadResponse)
from E:/NetBeans/ruby1/jruby-0.9.8/lib/ruby/1.8/net/http.rb:2006:in
`
read_new'
from E:/NetBeans/ruby1/jruby-0.9.8/lib/ruby/1.8/net/http.rb:1047:in `request
'

from E:/NetBeans/ruby1/jruby-0.9.8/lib/ruby/1.8/net/http.rb:1034:in `request'
from E:/NetBeans/ruby1/jruby-0.9.8/lib/ruby/1.8/net/http.rb:772:in
`
start'
from E:/NetBeans/ruby1/jruby-0.9.8/lib/ruby/1.8/net/http.rb:1035:in `request
'

from E:/NetBeans/ruby1/jruby-0.9.8/lib/ruby/1.8/net/http.rb:772:in `get'
from G:
\Documents and Settings\Udo\My Documents\NetBeansProjects\SHOUTcastRestart\lib\main.rb:14



ab. Für "normale" Webseiten geht es. Kann ich Net::HTTPBadResponse irgendwie ignorieren? ( Die Shoutcast Statusseiten sehen immer so aus. )

Die Seite sieht im Firefox so aus:




1
2

<HTML><HEAD><meta http-equiv="Content-Language" content="en-us"><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><meta http-equiv="Pragma" content="no-cache"><meta http-equiv="Expires" content="Mon, 01 Jan 1990 12:00:00 GMT"><title>SHOUTcast Administrator</title><style type="text/css"><!--a:link {color: blue; font-family:Arial, Helvetica; font-size:9pt;}a:visited {color: blue; font-family:Arial, Helvetica; font-size:9pt;}a:hover {color: red; font-family:Arial, Helvetica; font-size:9pt; }.default {color: White; font-family:Arial, Helvetica; font-size:9pt; font-weight: normal}.ST {color: White; font-family:Arial, Helvetica; font-size:8pt; font-weight: normal}.logoText {color: red; font-family: Arial Black, Helvetica, sans-serif; font-size: 25pt; font-weight: normal; letter-spacing : -2.5px;}.flagText {color: blue; font-family: webdings; font-size: 36pt; font-weight: normal; }.ltv {color: blue; font-family: Arial, Helvetica, sans-serif; font-size: 9pt; font-weight: normal;}.tnl {color: black; font-family: Arial, Helvetica, sans-serif; font-size: 10pt; font-weight: bold; text-decoration: none;}--></style></HEAD><BODY topmargin=0 leftmargin=0 marginheight=0 marginwidth=0 bgcolor=#000000 text=#EEEEEE link=#001155 vlink=#001155 alink=#FF0000><font class=default><table width=100% border=0 cellpadding=0 cellspacing=0><tr><td height=50><font class=flagText>U</font><font class=logoText>&nbsp;SHOUTcast D.N.A.S. Status</font></td></tr><tr><td height=14 align=right><font class=ltv><a id=ltv href="http://www.shoutcast.com/">SHOUTcast Server Version 1.9.8/Linux</a></font></td></tr><tr><td bgcolor=#DDDDDD height=20 align=center><table width=100% border=0 cellpadding=0 cellspacing=0><tr><td align=center><font class=tnl><a id=tnl href="index.html">Status</a></font></td><td align=center><font class=tnl>&nbsp;|&nbsp;</font></td><td align=center><font class=tnl><a id=tnl href="played.html">Song History</a></font></td><td align=center><font class=tnl>&nbsp;|&nbsp;</font></td><td align=center><font class=tnl><a id=tnl href="listen.pls">Listen</a></font></td><td align=center><font class=tnl>&nbsp;|&nbsp;</font></td><td align=center><font class=tnl><a id=tnl href="home.html">Stream URL</a></font></td><td align=center><font class=tnl>&nbsp;|&nbsp;</font></td><td align=center><font class=tnl><a id=tnl href="admin.cgi">Admin Login</a></font></td></tr></table></td></tr></table><br><table cellpadding=5 cellspacing=0 border=0 width=100%><tr><td bgcolor=#000025 colspan=2 align=center><font class=ST>Current Stream Information</font></td></tr></table><table cellpadding=2 cellspacing=0 border=0 align=center><tr><td width=100 nowrap><font class=default>Server Status: </font></td><td><font class=default><b>Server is currently up and private.</b></td></tr><tr><td width=100 nowrap><font class=default>Stream Status: </font></td><td><font class=default><b>Stream is up at 80 kbps with <B>1 of 100 listeners (1 unique)</b></b></td></tr><tr><td width=100 nowrap><font class=default>Listener Peak: </font></td><td><font class=default><b>1</b></td></tr><tr><td width=100 nowrap><font class=default>Average Listen Time: </font></td><td><font class=default><b>1h&nbsp;17m&nbsp;27s</b></td></tr><tr><td width=100 nowrap><font class=default>Stream Title: </font></td><td><font class=default><b>Bahamut's Blasphemy Broadcasting</b></td></tr><tr><td width=100 nowrap><font class=default>Content Type: </font></td><td><font class=default><b>audio/mpeg</b></td></tr><tr><td width=100 nowrap><font class=default>Stream Genre: </font></td><td><font class=default><b></b></td></tr><tr><td width=100 nowrap><font class=default>Stream URL: </font></td><td><font class=default><b><a href="http://80.237.174.112:5000">http://80.237.174.112:5000</a></b></td></tr><tr><td width=100 nowrap><font class=default>Stream AIM: </font></td><td><font class=default><b><a href="aim:goim?screenname=N/A">N/A</a></b></td></tr><tr><td width=100 nowrap><font class=default>Stream IRC: </font></td><td><font class=default><b><a href="http://www.shoutcast.com/chat.phtml?dc=%23shoutcast">#shoutcast</a></b></td></tr><tr><td width=100 nowrap><font class=default>Current Song: </font></td><td><font class=default><b>Nine Inch Nails - Survivalism</b></td></tr></table><br><table cellpadding=0 cellspacing=0 border=0 width=100%> <tr><td bgcolor=#DDDDDD nowrap colspan=5 align=center><table cellspacing=0 cellpadding=0 border=0><tr><td><font class=ltv>Written by Stephen 'Tag Loomis, Tom Pepper and Justin Frankel</font></td></tr></table></td></tr><tr><td nowrap colspan=5 align=center><font class=ST><b><a href="http://www.shoutcast.com/disclaimer.phtml">Copyright Nullsoft Inc</a><a href="/llamacookie">.</a> 1998-2004</b></font></td></tr></table></font></body></html>


Das möchte ich irgendwie in einem String haben. Geht das vielleicht leichter?


Danke.


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 27 Jul 2007, 18:06 
Offline
Hacker
Benutzeravatar

Registriert: 05 Sep 2006, 12:09
Beiträge: 403
Zitat:
Das möchte ich irgendwie in einem String haben. Geht das vielleicht leichter?

probier mal Hpricot


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 27 Jul 2007, 18:21 
Offline
Interpreter
Benutzeravatar

Registriert: 03 Jul 2006, 14:53
Beiträge: 4872
Wohnort: RLP
Wäre das nicht ein klassischer Fall für curl/libcurl?

http://curb.rubyforge.org/


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 27 Jul 2007, 18:45 
Offline
Hacker
Benutzeravatar

Registriert: 05 Sep 2006, 12:09
Beiträge: 403
stimmt... war geistig schon im WE... habe selbst schon mit curl gearbeitet. :oops:


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 06 Aug 2007, 15:12 
Offline
Nuby

Registriert: 13 Mär 2007, 22:22
Beiträge: 8
Hallo!


Das hier macht was ich will:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

require 'socket'

host = "89.110.157.215"
port = 9024

begin
stream = TCPSocket.new(host,port)
rescue
puts "error: #{$!}"
else
stream.puts "GET /index.html HTTP/1.1\r\nAccept: */*\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Ruby UP/DOWN Getter v1.1 (Mozilla Compatible)\r\nConnection: Keep-Alive\r\n\r\n"

header = nil

header = stream.gets
header = stream.gets
header = stream.gets
header = stream.gets
if header =~ /\Stream is up/
puts "UP!"
else
puts "DOWN!"
end
end



Wie würde das mit Curb gehen?

Cya!


Nach oben
 Profil  
 
 Betreff des Beitrags:
BeitragVerfasst: 06 Aug 2007, 16:17 
Offline
Interpreter
Benutzeravatar

Registriert: 03 Jul 2006, 14:53
Beiträge: 4872
Wohnort: RLP
Ich bin nicht so firm in Curb (verwende Curl nur über die Konsole), aber das müsste in etwa das sein:



1
2
3
4
5
6
7
8
9
10
11
12
require 'rubygems'
require 'curb'

response = Curl::Easy.perform('localhost:3000')

if response.header_str =~ /\Stream is up/
puts "UP!"
else
puts "DOWN!"
end

response.body_str



Viel Spass
Skade


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach: