AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stream Unvollständig?

Ein Thema von Arimatas · begonnen am 6. Mär 2017 · letzter Beitrag vom 7. Mär 2017
 
Arimatas

Registriert seit: 6. Mär 2017
1 Beiträge
 
#1

Stream Unvollständig?

  Alt 6. Mär 2017, 23:57
Hallo,
beim Versuch Daten einer Webseite auszulesen stoße ich auf Schwierigkeiten.

Ich nutze momentan die idHttp von Indy um dies zu erreichen.
also Quasi:
Delphi-Quellcode:
idhttp := TIdHTTP.Create(nil);
SourceCode := idhttp.Get(EdtURL.Text);
Memo1.text := SourceCode;
IdHTTP.Free;
Das Funktioniert soweit ganz gut nur nicht auf allen Seiten. Beim Test mancher Seiten z.B.: http://www.nasdaq.com/symbol/aapl/real-time

Bei dieser Seite bekomme ich mit eben gezeigtem Quellcode einen 'HTTP/1.1 400 Bad Request' Fehler während der .Get() Funktion.


Da ich auf diesem Weg nicht weitergekommen bin habe ich es anders Versucht.
Mit diesem Tutorial LINK habe ich eine Verbindung mit den REST Client komponenten aufgebaut.

Mit Folgendem Code befülle ich dann mein memo:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  jValue:TJSONValue;
begin
      RESTRequest1.Execute;
      jValue:=RESTResponse1.JSONValue;
      MemoContent.Text:= jValue.ToString;
end
Das klappt auf allen Seiten auch ganz gut, nur wieder auf dieser einen Nasdaq Seite nicht. Ich bekomme zwar Teile des Quellcodes der Webseite, jedoch kein Stück vom eigentlichen Inhalt, nur Übergeordnete HTML Struckturen :/


Zum Vergleich.
Mit der REST-Methode bekomme ich etwa 2200 Zeilen von der Nasdaq Webseite.
Mit einer C# Methode bekomme ich den Kompletten Quelltext mit etwa 3600 Zeilen.

C# Code hier:
Code:
using System.Net;
using System.IO;
using System.Web;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        private void button1_Click(object sender, EventArgs e)
        {
            WebClient web = new WebClient();
            Stream stream = web.OpenRead("http://www.nasdaq.com/symbol/aapl/real-time");
            using (StreamReader reader = new System.IO.StreamReader(stream))
            {
                richTextBox1.Text = reader.ReadToEnd();
            }
        }
Weiß jemand was ich in Delphi falsch mache, bzw. was ich tun muss um alle Daten von dieser Webseite zu bekommen?
Danke schonmal im Vorraus.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz