Autor Beitrag
Seven of Nine
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 132
Erhaltene Danke: 1

Win XP, Win Vista HomePro
Delphi 2009
BeitragVerfasst: Fr 28.12.12 08:31 
Ich möchte den Quelltext einer YouTube Seite interpretieren (für ein eigenes kleines YouTube->Audio Converter Projekt)
Dazu möchte ich den Sourcecode der YouTube Video Aufrufsseite vorliegen haben und zwar
- incl. korrekter Umlaute (zB wegen dem Titelnamen) und
- ohne HTTP-Encodierung für a la '%2C'...sondern die jeweiligen zeichen hierfür also: & = ? ; , etc

Verwendete Versionen
- Delphi 2010 V14.0.3593.25826
- Indy V14.0.3593.25826


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Var
  URL, VideoID, Response : String;
begin
  VideoID := 'bL9t_pvxo7U'// a Demo Video....
  URL := 'http://youtu.be/' + VideoID;
  try
    Response  := Utf8ToString(IdHTTP1.Get(URL)));
  Except
    exit;
  end;

  //...now interprete and act on the content in "Response"
end;


Ja mir ist klar, das es sich hierbei wohl "nur" um ein UniCode/Ansi/UTF8 Thema handelt, aber obwohl ich bereits mehrere Threads hier und in anderen Foren durchwühlt habe, habe ich bisher trotzdem keine saubere Lösung für mein Thema gefunden. Die verwendung von HTTPDecode liefert mir zB einen Fehler('Ungültiger URL codiertes Zeichen(%">) bei Position xx')

Help please.
am liebsten wäre mir natürlich ein Code-Schnipsel der das passend erledigt.

Danke und lG
Martin
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: Fr 28.12.12 16:43 
Das was du hier hast wird nicht HTTP-Encodierung sondern de.wikipedia.org/wiki/URL-Encoding genannt.
Seven of Nine Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 132
Erhaltene Danke: 1

Win XP, Win Vista HomePro
Delphi 2009
BeitragVerfasst: Fr 28.12.12 18:01 
Danke für dein Feedback Bernhard

na da werde ich doch sofort mal folgendes pobieren.

ausblenden Delphi-Quelltext
1:
2:
3:
uses idUri;
.....
Response := TIdURI.URLDecode(Response);


wobei der 1.te Versuch "so auf die schnelle" schon mal nict erfolgreih war (er beinhaltete weiterhin %xx encodierte Zeichen)
könnte aber jetzt auch noch ein ANSI/Unicodeproblem sein....

ich meld mich auf jeden Fall morgen wieder mit Feedback ob's geklappt hat und evtl.mit nem funktionierendem Bso.

lG martin