Je pense que c'est possible avec jQuery, mais n'importe quel code serveur ASP.NET est bon pour ma situation aussi. Avec jQuery je peux charger une page par exemple un div, et filtrer la div pour <title>
tag, mais je pense que pour les pages lourdes, il n'est pas bon de lire tout d'abord tout le contenu et ensuite lire la balise de titre. ou peut-être qu'il a une solution très simple? de toute façon je ne pouvais rien trouver à ce sujet sur Internet. merciComment lire le titre d'une page externe?
Répondre
merci Correcte à cjjer et Boo, je viens de lire plus sur regex et enfin le code ci-dessous travaille pour moi.
Dim qq As New System.Net.WebClient
Dim theuri As New Uri(TextBox1.Text)
Dim res As String = qq.DownloadString(theuri)
Dim re As Regex = New Regex("<title\b[^>]*>(.*?)</title>", RegexOptions.Singleline)
Dim ma As Match = re.Match(res)
If Not ma Is Nothing And ma.Success Then
Response.Write(ma.Groups(1).Value.ToString())
Else
Response.Write("error")
End If
mais de toute façon, le problème reste, ce code est le téléchargement de la page entière et en cherchant à travers elle, dont un des sites lourds il a fallu plus de 2 ou 3 secconds pour terminer, mais semble que ce soit la seule façon dans la mesure comme je le sais: | Y a-t-il des suggestions pour affiner ce code?
Vous risquez de compromettre la sécurité d'une autre page Web dans le vôtre, juste pour lire le titre ... Vous devriez le faire avec les scripts côté serveur (asp.net, php, ...) et juste afficher le titre sur votre page Web. Chose d'une sorte de mise en cache, car il est facile d'aller chercher des titres à chaque demande.
oui, c'est ce que je pensais, mais je pourrais trouver une solution, pour lire un titre de site Web qui est donné par un utilisateur comme un lien .. – mohamadreza
Il n'existe pas de méthode simple pour récupérer le titre d'une page externe. Vous pouvez le faire côté serveur en utilisant un WebClient
et en analysant la réponse.
Cependant, il peut être utile de revoir l'exigence, est-ce vraiment nécessaire, combien de trafic supplémentaire et de latence va-t-il générer. Considérez aussi que vous pourriez générer une charge sur le site externe qui ne sait pas que tout ce que vous voulez est un titre, la création de la page peut être assez coûteuse.
yep, à droite, Je vais faire, après que les utilisateurs soumettent leur site Web ou des liens fav à l'application, l'application peut lire le titre et enregistrer le lien avec le titre de la base de données, plutôt que de forcer l'utilisateur à écrire un champ "titre" pour leur site .. – mohamadreza
string title=Regex.Match(new System.Net.WebClient().DownloadString(url),(@"<title>(.*?)</title>"))[0].Groups[1].ToString();
try.je ne suis pas sûr.
erreur synthax pour moi sur [0] – mohamadreza
Les titres apparaissent généralement dans les 100 premiers octets, vous pouvez donc essayer une requête de plage pour le premier 1KiB, essayez d'analyser (avec un analyseur d'erreur, car certaines balises de fermeture seront manquantes) et si échoue à revenir au chargement de la page entière.
Je ne suis pas sûr que tous les serveurs le supportent.
Voir, si cela aide
char[] data = new char[299];
System.Net.HttpWebRequest wr =(HttpWebRequest)WebRequest.Create("http://www.yahoo.com");
wr.AddRange("bytes", 0, 299);
HttpWebResponse wre = (HttpWebResponse)wr.GetResponse();
StreamReader sr = new StreamReader(wre.GetResponseStream());
sr.Read(data, 0, 299);
Console.WriteLine((data));
sr.Close();
EDIT: Essayez de vérifier avec certains outils de surveillance du réseau pour savoir quel est le texte que les serveurs envoient. J'ai utilisé le violoniste pour voir la sortie & l'a écrit à la console.
EDIT2: Je suppose que le titre est au début de la page.
merci, cela a fonctionné mais il n'est pas fiable, il ne retourne pas toujours le contenu de l'URL que vous avez entré .. redirections, page comprend et ajax actions, le faire brisé .. – mohamadreza
cjjer presque réussi.
D'abord, changer le regex: <title>(?<Content>.*?)?</title>
Deuxièmement, vous devez créer un objet premier match (juste au cas où votre URI n'a pas de titre).
Match tMatch = new RegEx(@"<title>(?<Content>.*?)?</title>").Match(new System.Net.WebClient().DownloadString(url));
if ((null != tMatch) && (tMatch.IsSuccess)) {
// yay.
title = tMatch.Groups("Content").value;
}
i pas trop sur regex, il déclenche cette erreur: parsing "(?. *?)?" - Construction de regroupement non reconnue – mohamadreza
Stoopid StackOverflow.
HTML Décodez cela. Duno pourquoi ils ne le font pas pour vous. –
- 1. Rails: Comment changer le titre d'une page?
- 2. Comment puis-je lire le titre de la page parente à partir d'une iframe?
- 3. Comment utiliser Microsoft.WindowsMobile.PocketOutlook pour lire le titre d'un e-mail?
- 4. Page perdant le titre après UpdatePanel asyncpostback
- 5. Comment obtenir le titre de la page HTML avec JavaScript?
- 6. titre de la page Web
- 7. Existe-t-il une méthode simple pour lire le code source d'une page Web externe? ASP.NET
- 8. Obtenir le titre pour correspondre lien Titre
- 9. Sharepoint, ajax et le titre de la page
- 10. Comment lire un fichier de propriétés externe dans Maven
- 11. Lire la page Web
- 12. Problème avec localisant titre HTML d'une page
- 13. Comment puis-je lire le titre de la fenêtre avec JNI ou JNA?
- 14. Comment changer le titre de ColorDialog?
- 15. JSeparator avec le titre
- 16. Asp.net Mvc: Titre de la page dynamique
- 17. Pourquoi asp: ContentPlaceHolder sur le titre remplace le titre entier?
- 18. Jquery getJSON à la page PHP externe
- 19. Python: Lire un fichier (à partir d'un serveur externe)
- 20. Page HTML externe, dans AJAX Iframe?
- 21. Comment puis-je récupérer le titre d'une page Web en utilisant Python?
- 22. Comment définir le titre de la page dans une vue ASP.NET MVC?
- 23. Page principale de la bibliothèque externe
- 24. Comment charger la page/contenu externe dans un DIV
- 25. obtenir un titre iframe page de javascript en utilisant jquery
- 26. comment lire le contenu d'un site web?
- 27. Comment lire le contenu littéral d'un PlaceHolder?
- 28. capturer les détails de la page Web externe
- 29. Comment lire le cookie Javascript avec PHP
- 30. Comment extraire un titre HTML avec Perl?
Exterieur de la page en cours ou extérieur au site? – AnthonyWJones
externe au site, d'un autre domaine – mohamadreza