Verwenden Sie HTTPWebRequest auf remote-Seite den Titel
Ich habe ein web-service fungiert als Schnittstelle zwischen einer farm von websites und einige analytics-software. Teil des Google analytics-tracking erfordert die Ernte Titel der Seite. Anstatt es von der Webseite zum web-Dienst, den ich nutzen möchte HTTPWebRequest
zum Aufruf der Seite.
Ich habe code, der die gesamte Seite und analysiert den html-Code, greifen die Titel-tag, aber ich will nicht haben, zum download der gesamten Seite zu bekommen, Informationen, die in den Kopf.
Habe ich begonnen, mit
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("url");
request.Method = "HEAD";
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tolle Idee, aber ein KOPF nur auf Anfrage gibt das Dokument den HTTP-Header. Dies beinhaltet nicht den "title" - element, das ist Teil des HTTP-message-body.
Versuchen Sie dies:
Wenn Sie nicht wollen, zu verlangen, die gesamte Seite, können Sie verlangen, es in Stücke. Die http-Spezifikation definiert einen http-header namens " Palette. Verwenden Sie es wie unten:
Range: bytes=0-100
Können Sie den Blick über die zurückgegebenen Inhalte und den Titel finden. Wenn Sie es nicht ist, dann bitte um Angebot: 101-200 und so weiter, bis Sie bekommen, was Sie brauchen.
Offensichtlich, der web-server benötigt, um die support-Bereich, also das kann hit oder miss.
So, ich hätte zu gehen mit so etwas wie...
<title/>
- tag nicht geschlossen wird? In allen Fällen sollte man nicht versuchen zu Parsen von HTML-Seiten, sondern verwenden Sie eine vorhandene, real -, Arbeits-parser statt.