2009-03-01 10 views
3

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?

+0

Exterieur de la page en cours ou extérieur au site? – AnthonyWJones

+0

externe au site, d'un autre domaine – mohamadreza

Répondre

2

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?

0

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.

+0

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

0

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.

+0

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

0
string title=Regex.Match(new System.Net.WebClient().DownloadString(url),(@"<title>(.*?)</title>"))[0].Groups[1].ToString(); 

try.je ne suis pas sûr.

+0

erreur synthax pour moi sur [0] – mohamadreza

1

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.

0

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.

+0

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

2

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; 
} 
+0

i pas trop sur regex, il déclenche cette erreur: parsing "(?. *?)?" - Construction de regroupement non reconnue – mohamadreza

+0

Stoopid StackOverflow. . *?)? – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> <div itemprop="comment" class="post-comment"> <div class="row"> <div class="col-lg-1"><span class="text-secondary">+0</span></div> <div class="col-lg-11"> <p class="commenttext">HTML Décodez cela. Duno pourquoi ils ne le font pas pour vous. – <span class="text-secondary"> <small> <span></span> </small> </span> </p> </div> </div> </div> </div> </div> </article> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="4319274062" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> </div> <div class="clearfix"> </div> <div class="relative-box"> <div class="relative">Questions connexes</div> <ul class="relative_list"> <li> 1. <a href="http://fr.voidcc.com/question/p-yxzjvvev-p.html" target="_blank" title="Rails: Comment changer le titre d'une page?"> Rails: Comment changer le titre d'une page? </a> </li> <li> 2. <a href="http://fr.voidcc.com/question/p-prwtdxrp-h.html" target="_blank" title="Comment puis-je lire le titre de la page parente à partir d'une iframe?"> Comment puis-je lire le titre de la page parente à partir d'une iframe? </a> </li> <li> 3. <a href="http://fr.voidcc.com/question/p-hudcoqhm-k.html" target="_blank" title="Comment utiliser Microsoft.WindowsMobile.PocketOutlook pour lire le titre d'un e-mail?"> Comment utiliser Microsoft.WindowsMobile.PocketOutlook pour lire le titre d'un e-mail? </a> </li> <li> 4. <a href="http://fr.voidcc.com/question/p-xyefqglg-d.html" target="_blank" title="Page perdant le titre après UpdatePanel asyncpostback"> Page perdant le titre après UpdatePanel asyncpostback </a> </li> <li> 5. <a href="http://fr.voidcc.com/question/p-bexphfzb-s.html" target="_blank" title="Comment obtenir le titre de la page HTML avec JavaScript?"> Comment obtenir le titre de la page HTML avec JavaScript? </a> </li> <li> 6. <a href="http://fr.voidcc.com/question/p-yyncdaaw-m.html" target="_blank" title="titre de la page Web"> titre de la page Web </a> </li> <li> 7. <a href="http://fr.voidcc.com/question/p-nzdwitvf-g.html" target="_blank" title="Existe-t-il une méthode simple pour lire le code source d'une page Web externe? ASP.NET"> Existe-t-il une méthode simple pour lire le code source d'une page Web externe? ASP.NET </a> </li> <li> 8. <a href="http://fr.voidcc.com/question/p-opmvgkti-h.html" target="_blank" title="Obtenir le titre pour correspondre lien Titre"> Obtenir le titre pour correspondre lien Titre </a> </li> <li> 9. <a href="http://fr.voidcc.com/question/p-cjckieyy-b.html" target="_blank" title="Sharepoint, ajax et le titre de la page"> Sharepoint, ajax et le titre de la page </a> </li> <li> 10. <a href="http://fr.voidcc.com/question/p-veuowdhk-r.html" target="_blank" title="Comment lire un fichier de propriétés externe dans Maven"> Comment lire un fichier de propriétés externe dans Maven </a> </li> <li> 11. <a href="http://fr.voidcc.com/question/p-gazrspbr-q.html" target="_blank" title="Lire la page Web"> Lire la page Web </a> </li> <li> 12. <a href="http://fr.voidcc.com/question/p-vforjxzk-a.html" target="_blank" title="Problème avec localisant titre HTML d'une page"> Problème avec localisant titre HTML d'une page </a> </li> <li> 13. <a href="http://fr.voidcc.com/question/p-xavjwkvi-o.html" target="_blank" title="Comment puis-je lire le titre de la fenêtre avec JNI ou JNA?"> Comment puis-je lire le titre de la fenêtre avec JNI ou JNA? </a> </li> <li> 14. <a href="http://fr.voidcc.com/question/p-ddcidzdm-n.html" target="_blank" title="Comment changer le titre de ColorDialog?"> Comment changer le titre de ColorDialog? </a> </li> <li> 15. <a href="http://fr.voidcc.com/question/p-mpwyigqg-s.html" target="_blank" title="JSeparator avec le titre"> JSeparator avec le titre </a> </li> <li> 16. <a href="http://fr.voidcc.com/question/p-dqjqodoy-n.html" target="_blank" title="Asp.net Mvc: Titre de la page dynamique"> Asp.net Mvc: Titre de la page dynamique </a> </li> <li> 17. <a href="http://fr.voidcc.com/question/p-pzlwfvic-b.html" target="_blank" title="Pourquoi asp: ContentPlaceHolder sur le titre remplace le titre entier?"> Pourquoi asp: ContentPlaceHolder sur le titre remplace le titre entier? </a> </li> <li> 18. <a href="http://fr.voidcc.com/question/p-tijfyjdp-h.html" target="_blank" title="Jquery getJSON à la page PHP externe"> Jquery getJSON à la page PHP externe </a> </li> <li> 19. <a href="http://fr.voidcc.com/question/p-rhvaxeuo-g.html" target="_blank" title="Python: Lire un fichier (à partir d'un serveur externe)"> Python: Lire un fichier (à partir d'un serveur externe) </a> </li> <li> 20. <a href="http://fr.voidcc.com/question/p-fvjjxxhq-k.html" target="_blank" title="Page HTML externe, dans AJAX Iframe?"> Page HTML externe, dans AJAX Iframe? </a> </li> <li> 21. <a href="http://fr.voidcc.com/question/p-fzyhfpaa-q.html" target="_blank" title="Comment puis-je récupérer le titre d'une page Web en utilisant Python?"> Comment puis-je récupérer le titre d'une page Web en utilisant Python? </a> </li> <li> 22. <a href="http://fr.voidcc.com/question/p-fpfziiyo-q.html" target="_blank" title="Comment définir le titre de la page dans une vue ASP.NET MVC?"> Comment définir le titre de la page dans une vue ASP.NET MVC? </a> </li> <li> 23. <a href="http://fr.voidcc.com/question/p-ucnxkvcb-c.html" target="_blank" title="Page principale de la bibliothèque externe"> Page principale de la bibliothèque externe </a> </li> <li> 24. <a href="http://fr.voidcc.com/question/p-hzqmidti-n.html" target="_blank" title="Comment charger la page/contenu externe dans un DIV"> Comment charger la page/contenu externe dans un DIV </a> </li> <li> 25. <a href="http://fr.voidcc.com/question/p-mfkelors-h.html" target="_blank" title="obtenir un titre iframe page de javascript en utilisant jquery"> obtenir un titre iframe page de javascript en utilisant jquery </a> </li> <li> 26. <a href="http://fr.voidcc.com/question/p-brxorzbs-k.html" target="_blank" title="comment lire le contenu d'un site web?"> comment lire le contenu d'un site web? </a> </li> <li> 27. <a href="http://fr.voidcc.com/question/p-bsntszqr-b.html" target="_blank" title="Comment lire le contenu littéral d'un PlaceHolder?"> Comment lire le contenu littéral d'un PlaceHolder? </a> </li> <li> 28. <a href="http://fr.voidcc.com/question/p-byznxcpl-h.html" target="_blank" title="capturer les détails de la page Web externe"> capturer les détails de la page Web externe </a> </li> <li> 29. <a href="http://fr.voidcc.com/question/p-vahbzkic-a.html" target="_blank" title="Comment lire le cookie Javascript avec PHP"> Comment lire le cookie Javascript avec PHP </a> </li> <li> 30. <a href="http://fr.voidcc.com/question/p-wtsirpls-a.html" target="_blank" title="Comment extraire un titre HTML avec Perl?"> Comment extraire un titre HTML avec Perl? </a> </li> </ul> </div> <div> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3534119089"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="padding-top-10"></div> </div> </div> <script type="text/javascript" src="http://img2.voidcc.com/voidso/script/side.js?t=1652515422260"></script> <script type="text/javascript" src="http://img2.voidcc.com/voidso/plugin/highlight/highlight.pack.js"></script> <link href="http://img2.voidcc.com/voidso/plugin/highlight/styles/docco.css" media="screen" rel="stylesheet" type="text/css" /> <script type="text/javascript"> $('pre').each(function(i, e) { hljs.highlightBlock(e, "<span class='indent'> </span>", false) }); </script> <div class="col-lg-3 col-md-4 col-sm-5"> <div id="rightTop"> <div class="row"> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- VOIDCC问答侧边栏广告 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6208739752673518" data-ad-slot="3862022848" data-ad-format="auto" data-full-width-responsive="true"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </div> <div class="row sidebar panel panel-default"> <div class="panel-heading font-bold"> Dernière question </div> <div class="m-b-sm m-t-sm clearfix"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://fr.voidcc.com/question/p-xoeovymv-bkw.html" target="_blank" title="Julia Bio.jl parcourir les fichiers simultanément"> Julia Bio.jl parcourir les fichiers simultanément </a> </li> <li class="side_article_list_item"> 2. <a href="http://fr.voidcc.com/question/p-dsnntfny-bkw.html" target="_blank" title="Comment utiliser ORDRE Mysql PAR cas pour organiser les requêtes résultats"> Comment utiliser ORDRE Mysql PAR cas pour organiser les requêtes résultats </a> </li> <li class="side_article_list_item"> 3. <a href="http://fr.voidcc.com/question/p-ghisqcaa-bkv.html" target="_blank" title="Comment utiliser les instructions try dans R?"> Comment utiliser les instructions try dans R? </a> </li> <li class="side_article_list_item"> 4. <a href="http://fr.voidcc.com/question/p-wulnrevt-bkv.html" target="_blank" title="javascript détection de collision avec animation css"> javascript détection de collision avec animation css </a> </li> <li class="side_article_list_item"> 5. <a href="http://fr.voidcc.com/question/p-bzhapden-bkv.html" target="_blank" title="Python: Trouver le nombre des éléments d'une liste dans une autre liste"> Python: Trouver le nombre des éléments d'une liste dans une autre liste </a> </li> <li class="side_article_list_item"> 6. <a href="http://fr.voidcc.com/question/p-aqncbuoq-bkv.html" target="_blank" title="Rails 5 - Rendu nouveau avec le paramètre"> Rails 5 - Rendu nouveau avec le paramètre </a> </li> <li class="side_article_list_item"> 7. <a href="http://fr.voidcc.com/question/p-olydgfye-bkv.html" target="_blank" title="Version JAVA 8 (JDK) pour RHEL7 (Cloud communautaire IBM linuxone)"> Version JAVA 8 (JDK) pour RHEL7 (Cloud communautaire IBM linuxone) </a> </li> <li class="side_article_list_item"> 8. <a href="http://fr.voidcc.com/question/p-wkwrkuyq-bkv.html" target="_blank" title="déclarations globales illégales dans verilog 2001 syntaxe Tâche"> déclarations globales illégales dans verilog 2001 syntaxe Tâche </a> </li> <li class="side_article_list_item"> 9. <a href="http://fr.voidcc.com/question/p-uokvaway-bkv.html" target="_blank" title="mongodb prendre trop de temps pour les anciennes entrées"> mongodb prendre trop de temps pour les anciennes entrées </a> </li> <li class="side_article_list_item"> 10. <a href="http://fr.voidcc.com/question/p-hzuatyby-bkv.html" target="_blank" title="Modification du contexte de thread dans l'application console C#"> Modification du contexte de thread dans l'application console C# </a> </li> </ul> </div> </div> </div> <p class="article-nav-bar"></p> <div class="row sidebar article-nav"> <div class="row box_white visible-sm visible-md visible-lg margin-zero"> <div class="top"> <h3 class="title"><i class="glyphicon glyphicon-th-list"></i> Questions connexes</h3> </div> <div class="article-relative-content"> <ul class="side_article_list"> <li class="side_article_list_item"> 1. <a href="http://fr.voidcc.com/question/p-yxzjvvev-p.html" target="_blank" title="Rails: Comment changer le titre d'une page?"> Rails: Comment changer le titre d'une page? </a> </li> <li class="side_article_list_item"> 2. <a href="http://fr.voidcc.com/question/p-prwtdxrp-h.html" target="_blank" title="Comment puis-je lire le titre de la page parente à partir d'une iframe?"> Comment puis-je lire le titre de la page parente à partir d'une iframe? </a> </li> <li class="side_article_list_item"> 3. <a href="http://fr.voidcc.com/question/p-hudcoqhm-k.html" target="_blank" title="Comment utiliser Microsoft.WindowsMobile.PocketOutlook pour lire le titre d'un e-mail?"> Comment utiliser Microsoft.WindowsMobile.PocketOutlook pour lire le titre d'un e-mail? </a> </li> <li class="side_article_list_item"> 4. <a href="http://fr.voidcc.com/question/p-xyefqglg-d.html" target="_blank" title="Page perdant le titre après UpdatePanel asyncpostback"> Page perdant le titre après UpdatePanel asyncpostback </a> </li> <li class="side_article_list_item"> 5. <a href="http://fr.voidcc.com/question/p-bexphfzb-s.html" target="_blank" title="Comment obtenir le titre de la page HTML avec JavaScript?"> Comment obtenir le titre de la page HTML avec JavaScript? </a> </li> <li class="side_article_list_item"> 6. <a href="http://fr.voidcc.com/question/p-yyncdaaw-m.html" target="_blank" title="titre de la page Web"> titre de la page Web </a> </li> <li class="side_article_list_item"> 7. <a href="http://fr.voidcc.com/question/p-nzdwitvf-g.html" target="_blank" title="Existe-t-il une méthode simple pour lire le code source d'une page Web externe? ASP.NET"> Existe-t-il une méthode simple pour lire le code source d'une page Web externe? ASP.NET </a> </li> <li class="side_article_list_item"> 8. <a href="http://fr.voidcc.com/question/p-opmvgkti-h.html" target="_blank" title="Obtenir le titre pour correspondre lien Titre"> Obtenir le titre pour correspondre lien Titre </a> </li> <li class="side_article_list_item"> 9. <a href="http://fr.voidcc.com/question/p-cjckieyy-b.html" target="_blank" title="Sharepoint, ajax et le titre de la page"> Sharepoint, ajax et le titre de la page </a> </li> <li class="side_article_list_item"> 10. <a href="http://fr.voidcc.com/question/p-veuowdhk-r.html" target="_blank" title="Comment lire un fichier de propriétés externe dans Maven"> Comment lire un fichier de propriétés externe dans Maven </a> </li> </ul> </div> </div> </div> </div> </div> </div> </div><!-- wrap end--> <!-- footer --> <footer id="footer"> <div class="bg-simple lt"> <div class="container"> <div class="row padder-v m-t"> <div class="col-xs-8"> <ul class="list-inline"> <li><a href="http://fr.voidcc.com/contact">Nous contacter</a></li> <li>© 2020 FR.VOIDCC.COM</li> <li><a rel="nofollow" href="https://beian.miit.gov.cn/" target="_blank">沪ICP备13005482号-13</a></li> <li><script type="text/javascript" src="https://s9.cnzz.com/z_stat.php?id=1280098168&web_id=1280098168"></script></li> <li><a href="http://cn.voidcc.com/" target="_blank" title="程序问答园区">简体中文</a></li> <li><a href="http://hk.voidcc.com/" target="_blank" title="程序問答園區">繁體中文</a></li> <li><a href="http://ru.voidcc.com/" target="_blank" title="поле вопросов и ответов">Русский</a></li> <li><a href="http://de.voidcc.com/" target="_blank" title="Frage - und - antwort - Park">Deutsch</a></li> <li><a href="http://es.voidcc.com/" target="_blank" title="Preguntas y respuestas">Español</a></li> <li><a href="http://hi.voidcc.com/" target="_blank" title="कार्यक्रम प्रश्न और उत्तर पार्क">हिन्दी</a></li> <li><a href="http://it.voidcc.com/" target="_blank" title="IL Programma di chiedere Park">Italiano</a></li> <li><a href="http://ja.voidcc.com/" target="_blank" title="プログラム問答園区">日本語</a></li> <li><a href="http://ko.voidcc.com/" target="_blank" title="프로그램 문답 단지">한국어</a></li> <li><a href="http://pl.voidcc.com/" target="_blank" title="program o park">Polski</a></li> <li><a href="http://tr.voidcc.com/" target="_blank" title="Program soru ve cevap parkı">Türkçe</a></li> <li><a href="http://vi.voidcc.com/" target="_blank" title="Đáp ứng viên">Tiếng Việt</a></li> <li><a href="http://fr.voidcc.com/" target="_blank" title="Programme interrogation Park">Française</a></li> </ul> </div> </div> </div> </div> </div> </footer> <!-- / footer --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-77509369-5"></script> <script> window.dataLayer = window.dataLayer || []; function gtag() { dataLayer.push(arguments); } gtag('js', new Date()); gtag('config', 'UA-77509369-5'); </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?67d4731349f0b00136755b80364ce381"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>