EDIT://
Folgendes habe ich jetzt nun schon ausprobiert :
Encoding.UTF8
HTMLDecode
ContentType ändern
- alles ohne erfolg
EDIT:// 24.05.2013
Hab die Seite hinzugefügt und meinen ganzen Source.
------------------------------------
Hey wieder ein kleines Problem oder villeicht auch ein größeres von mit :
Ich hole mir per HttpWebrequest einen Quellcode von einer Website(KLICK) den Zerlege ich dann mit RegEx um die Titel und Links des Forums(vom Link) zu bekommen, in meinem "Response"-String sind jetzt aber alle Sonderzeichen und Umlaute als Ein Fragezeichen-Symbol dargestellt:
EDIT:// Der heruntergeladene Source ist bereits falsch kodiert ich habe mir den Text mal speichern lassen und hatte dann schon direkt diese komischen Zeichen
[Es geht hauptsächlich um die Funktion RefreshNews]
Code:
Spoiler anzeigen
Screen :
Ich habe bereits versucht das Encoding zu ändern leider ohne erfolg über Hilfe wäre ich sehr dankbar
LG Graphic
Folgendes habe ich jetzt nun schon ausprobiert :
Encoding.UTF8
HTMLDecode
ContentType ändern
- alles ohne erfolg
EDIT:// 24.05.2013
Hab die Seite hinzugefügt und meinen ganzen Source.
------------------------------------
Hey wieder ein kleines Problem oder villeicht auch ein größeres von mit :
Ich hole mir per HttpWebrequest einen Quellcode von einer Website(KLICK) den Zerlege ich dann mit RegEx um die Titel und Links des Forums(vom Link) zu bekommen, in meinem "Response"-String sind jetzt aber alle Sonderzeichen und Umlaute als Ein Fragezeichen-Symbol dargestellt:
EDIT:// Der heruntergeladene Source ist bereits falsch kodiert ich habe mir den Text mal speichern lassen und hatte dann schon direkt diese komischen Zeichen
[Es geht hauptsächlich um die Funktion RefreshNews]
Code:
VB.NET-Quellcode
- Imports System.Text.RegularExpressions
- Imports System.Net
- Imports System.Text
- Imports System
- Imports System.Web
- Imports System.IO
- Public Class Form1
- Dim Threads(0 To 100) As String
- Dim Index As Integer = 0
- Private Sub GhostTheme1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GhostTheme1.Click
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- For Each c As Control In GhostTabControl1.Controls
- MsgBox(c.Name)
- Next
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
- TabPage1.Controls.Clear()
- End Sub
- Sub RefreshNews(ByVal Target As String)
- Dim Request As HttpWebRequest = CType(WebRequest.Create(Target), HttpWebRequest)
- Request.Method = "POST"
- Request.ContentType = "text/html; charset=ISO-8859-1"
- Dim Post As String = ""
- Encoding.GetEncoding("ISO-8859-1")
- Dim byteArray() As Byte = Encoding.UTF8.GetBytes(Post)
- Request.ContentLength = byteArray.Length
- Dim DataStream As Stream = Request.GetRequestStream()
- DataStream.Write(byteArray, 0, byteArray.Length)
- DataStream.Close()
- Dim Response As HttpWebResponse = Request.GetResponse()
- DataStream = Response.GetResponseStream()
- Dim reader As New StreamReader(DataStream)
- Dim ServerResponse As String = reader.ReadToEnd()
- reader.Close()
- DataStream.Close()
- Response.Close()
- Dim NewsHTML As String = ServerResponse
- Dim start As String = "<!-- show threads -->"
- Dim start_int As Integer = NewsHTML.IndexOf("<!-- show threads -->")
- Dim end_int As Integer = NewsHTML.IndexOf("<!-- end show threads -->")
- Dim Threads As String = NewsHTML.Substring(start_int + start.Length, end_int - start_int)
- Threads = Threads.Replace(Environment.NewLine, "")
- Dim r As New Regex("<tr>(.*?)</tr>")
- Dim div_ex As New Regex("<div>(.*?)</div>")
- Dim ac_ex As New Regex("</span>(.*?)</div>")
- Dim url_ex_ref As New Regex("</span>(.*?)>(.*?)</a>")
- Dim url_ac As New Regex("<a href(.*?)id")
- Dim name_ex As New Regex(""">(.*?)</a>")
- Dim matches As MatchCollection = r.Matches(Threads)
- For Each m As Match In matches
- Dim ma As MatchCollection = div_ex.Matches(m.ToString)
- For Each maa As Match In ma
- Dim ac_ma As MatchCollection = ac_ex.Matches(maa.ToString)
- For Each ac_ma_m As Match In ac_ma
- Dim url_ref_ma As MatchCollection = url_ex_ref.Matches(ac_ma_m.ToString)
- For Each url_ref_ma_m As Match In url_ref_ma
- Dim url_ac_ma As MatchCollection = url_ac.Matches(url_ref_ma_m.ToString)
- For Each url_ac_ma_m As Match In url_ac_ma
- Dim url_ac_ma_m_string As String = url_ac_ma_m.ToString.Replace("<a href=""", "")
- url_ac_ma_m_string = url_ac_ma_m_string.Replace(""" id", "")
- Dim name_ex_ma As MatchCollection = name_ex.Matches(url_ref_ma_m.ToString)
- For Each name_ex_ma_m As Match In name_ex_ma
- Dim name_ex_ma_m_string As String = name_ex_ma_m.ToString.Replace(""">", "")
- name_ex_ma_m_string = name_ex_ma_m_string.Replace("</a>", "")
- MsgBox(url_ac_ma_m_string & ":::" & name_ex_ma_m_string)
- AddThread(url_ac_ma_m_string, name_ex_ma_m_string)
- Next
- Next
- Next
- Next
- Next
- Next
- End Sub
- Sub AddThread(ByVal URL As String, ByVal text As String)
- Threads(Index) = URL & "::" & text
- Index = Index + 1
- End Sub
- Sub AddElements()
- Dim TotalLocation_X As Integer = 15
- Dim TotalLocation_Y As Integer = 10
- For i As Integer = 0 To Threads.Length - 1
- If Not Threads(i) = "" Then
- Dim r As New Regex("(.*?)::")
- Dim rm As MatchCollection = r.Matches(Threads(i))
- Dim rm1 As MatchCollection = r.Matches(Threads(i))
- For Each rm_m As Match In rm
- Dim label As New Label
- label.Name = "l_" & i
- label.ForeColor = Color.White
- label.Size = New Size(300, 50)
- label.BackColor = Color.Transparent
- label.AccessibleDescription = rm_m.ToString.Replace("::", "")
- For Each rm_m1 As Match In rm1
- label.Text = Threads(i).ToString.Replace(rm_m.ToString, "")
- Next
- Dim myFont = New Font("BankGothic Lt BT", 16, FontStyle.Regular)
- label.Font = myFont
- label.Location = New Point(TotalLocation_X, TotalLocation_Y)
- TotalLocation_Y = TotalLocation_Y + 20
- TabPage1.Controls.Add(label)
- Clipboard.SetText(label.Text)
- AddHandler label.Click, AddressOf LabelClicked
- Next
- Else
- Exit For
- End If
- Next
- End Sub
- Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
- End Sub
- Private Sub TabPage1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TabPage1.Click
- End Sub
- Private Sub Button1_Click_2(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- For i As Integer = 0 To Threads.Length - 1
- If Not Threads(i) = "" Then
- Threads(i) = ""
- Else
- Exit For
- End If
- Next
- Button1.Enabled = False
- Index = 0
- RefreshNews(TextBox1.Text)
- Button1.Enabled = True
- AddElements()
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- End Sub
- Private Sub LabelClicked(ByVal sender As Object, ByVal e As EventArgs)
- Process.Start(CType(sender, Label).AccessibleDescription.ToString)
- End Sub
- End Class
Screen :
Ich habe bereits versucht das Encoding zu ändern leider ohne erfolg über Hilfe wäre ich sehr dankbar
LG Graphic
Dieser Beitrag wurde bereits 8 mal editiert, zuletzt von „Graphicscore“ ()