Accueil > > > REQUÈTES HTTP VIA PROXY : RECUPERER LA SOURCE HTML D'UNE PAGE WEB
REQUÈTES HTTP VIA PROXY : RECUPERER LA SOURCE HTML D'UNE PAGE WEB
Information sur la source
Description
Un petit code permettant de recuperer ce que renvoie une requete web, et donc de filtrer par exemple le contenu des urls qui semblent dangereuse, ou encore d'y recuperer toutes les urls contenues (esquisse d'un aspirateur web)... ceci en passant si besoin il y a par un proxy. Ce code n'est qu'un tout petit exemple basique, et les objets webrequests comportent enormement d'autres utilités (entre autres les modifications des headers sur lesquels je reviendrais surement dans une prochaine source)
Source
- Function Get_request(ByVal url As String, Optional ByVal proxy As String = Nothing, Optional ByVal proxyport As Integer = Nothing) As String
- Dim readstr As IO.StreamReader 'on crée un objet streamreader
- Try
-
- If proxy <> Nothing And proxyport <> Nothing Then 'on execute ceci que si les deux arguments optionels ont été passés (proxy et port)
- Dim hproxy As WebProxy 'on crée l'objet proxy
- hproxy = New WebProxy(proxy, proxyport) 'on defini hproxy avec les valeurs données
- GlobalProxySelection.Select = hproxy 'on applique le proxy
- End If
-
- Dim hwebrequest As System.Net.WebRequest = System.Net.WebRequest.Create(url) 'on crée la requete web
- Dim hwebresponse As System.Net.WebResponse = hwebrequest.GetResponse 'on crée un objet de reponse a notre requete
- readstr = New IO.StreamReader(hwebresponse.GetResponseStream) 'on redefini notre streamreader avec la reponse à la requete en argument
- Return readstr.ReadToEnd() 'on renvoie l'ensemble du resultat
- readstr.Close() 'on ferme l'objet
-
- Catch ex As Exception
-
- Return ex.Message.ToString ' en cas d'erreur, on renvoie la description de l'erreur
- readstr.Close()
-
- End Try
-
- End Function
-
-
-
-
-
-
-
- 'en admettant que les textbox existent sur votre form (je vous laisse recupérer vous meme les noms), dans un bouton ou autre :
- 'htmltxt est un richtextbox, pour eviter une erreur si le fichier distant est trop gros
-
- If proxytxt.Text <> "" And porttxt.Text <> "" And urltxt.Text <> "" Then htmltxt.Text = Getrequest(urltxt.Text, proxytxt.Text, porttxt.Text)
- If urltxt.Text <> "" Then htmltxt.Text = Getrequest(urltxt.Text)
Function Get_request(ByVal url As String, Optional ByVal proxy As String = Nothing, Optional ByVal proxyport As Integer = Nothing) As String
Dim readstr As IO.StreamReader 'on crée un objet streamreader
Try
If proxy <> Nothing And proxyport <> Nothing Then 'on execute ceci que si les deux arguments optionels ont été passés (proxy et port)
Dim hproxy As WebProxy 'on crée l'objet proxy
hproxy = New WebProxy(proxy, proxyport) 'on defini hproxy avec les valeurs données
GlobalProxySelection.Select = hproxy 'on applique le proxy
End If
Dim hwebrequest As System.Net.WebRequest = System.Net.WebRequest.Create(url) 'on crée la requete web
Dim hwebresponse As System.Net.WebResponse = hwebrequest.GetResponse 'on crée un objet de reponse a notre requete
readstr = New IO.StreamReader(hwebresponse.GetResponseStream) 'on redefini notre streamreader avec la reponse à la requete en argument
Return readstr.ReadToEnd() 'on renvoie l'ensemble du resultat
readstr.Close() 'on ferme l'objet
Catch ex As Exception
Return ex.Message.ToString ' en cas d'erreur, on renvoie la description de l'erreur
readstr.Close()
End Try
End Function
'en admettant que les textbox existent sur votre form (je vous laisse recupérer vous meme les noms), dans un bouton ou autre :
'htmltxt est un richtextbox, pour eviter une erreur si le fichier distant est trop gros
If proxytxt.Text <> "" And porttxt.Text <> "" And urltxt.Text <> "" Then htmltxt.Text = Getrequest(urltxt.Text, proxytxt.Text, porttxt.Text)
If urltxt.Text <> "" Then htmltxt.Text = Getrequest(urltxt.Text)
Conclusion
C'est tres simple, c'est pratique dans certains cas et ca pourra servir de base à un essai sur les requetes web... j'y reviendrais surement :)
Les commentaires sont les bienvenus.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
ASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHEASYNC/AWAIT: COMPRENDRE COMMENT CA MARCHE par fathi
Tout le monde est unanime pour dire que la programmation multi-thread et asynchrone est en train de devenir un sujet incontournable. Beaucoup de choses sont arrivées avec le framework 4 pour le code parallèle (TPL, PLinq,.) et bientôt, on va avoir l...
Cliquez pour lire la suite de l'article par fathi PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|