Accueil > > > REQUETE HTTP GET / POST
REQUETE HTTP GET / POST
Information sur la source
Description
Suite à une question dans le forum qui m'a poussé à ecrire un code que je pensais avoir déja poster ici, je me permet d'ajouter ce simple petit code. J'avais effectivement deja poster la source "requete http via proxy, recuperer la source d'une page html" mais celle ci etait plus destiné à montrer l'interet du proxy et ne s'arretait que sur la methode GET, et le changement de nom serait devenu compliqué, bref, voila mon explication à une eventuelle critique concernant un doublon. Cette fois ci les deux methodes les plus courantes (POST et GET) sont presentées. Update : Gestion des authentification par .htaccess Update 2 : Ajout de la gestion des cookies (pourtant indispensable, où était-elle??), ainsi que des proxy. Les arguments optionels attendus par les deux méthodes devienent nombreux, du fait que celles ci sont extraites d'une classe me simplifiant l'utilisations des requêtes HTTP, dans laquelle j'ai défini de nombreuses surcharges de ces méthodes. J'hesite à mettre cette classe à la place des deux simple méthodes, ce qui augmenterais considérablement le code censé être très simple.
Source
- Private Function Get_request(ByVal url As String, Optional ByVal cookies As String = "", Optional ByVal proxy As String = Nothing, Optional ByVal proxyport As Integer = Nothing, Optional ByVal timeout As Integer = 30000, Optional ByVal login As String = "", Optional ByVal pass As String = "") As String
- Dim reader As IO.StreamReader 'on crée un objet streamreader
- Try
- Dim hwebrequest As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url) 'on crée la requete web
- hwebrequest.Timeout = timeout
- If proxy <> "" Then
- Dim hproxy As WebProxy
- hproxy = New WebProxy(proxy, proxyport)
- WebRequest.DefaultWebProxy = hproxy
- End If
- If login <> "" Then
- Dim hcredential As New System.Net.NetworkCredential(login, pass)
- hwebrequest.Credentials = hcredential
- End If
- If cookies <> "" Then
- hwebrequest.CookieContainer = New CookieContainer
- hwebrequest.CookieContainer.SetCookies(New Uri(url.Substring(0, url.IndexOf("/", 8))), cookies)
- End If
- Dim hwebresponse As System.Net.HttpWebResponse = hwebrequest.GetResponse 'on crée un objet de reponse a notre requete
- reader = New IO.StreamReader(hwebresponse.GetResponseStream) 'on redefini notre streamreader avec la reponse à la requete en argument
- Dim res As String = ""
- res = reader.ReadToEnd() 'on renvoie l'ensemble du resultat
- reader.Close() 'on ferme l'objet
- hwebresponse.Close()
- Return res
- Catch ex As Exception
- Return ex.ToString
- End Try
- End Function
-
- Private Function Post_request(ByVal url As String, ByVal data As String, Optional ByVal cookies As String = "", Optional ByVal proxy As String = Nothing, Optional ByVal proxyport As Integer = Nothing, Optional ByVal timeout As Integer = 30000, Optional ByVal login As String = "", Optional ByVal pass As String = "") As String
- Dim reader As IO.StreamReader
- Dim writer As IO.StreamWriter
- Dim res As String = ""
- Try
- Dim hwebrequest As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url) ' on crée la requete web à partir de l'url
- If proxy <> "" Then
- Dim hproxy As WebProxy
- hproxy = New WebProxy(proxy, proxyport)
- WebRequest.DefaultWebProxy = hproxy
- End If
- If login <> "" Then
- Dim hcredential As New System.Net.NetworkCredential(login, pass)
- hwebrequest.Credentials = hcredential
- End If
- If cookies <> "" Then
- hwebrequest.CookieContainer = New CookieContainer
- hwebrequest.CookieContainer.SetCookies(New Uri(url.Substring(0, url.IndexOf("/", 8))), cookies)
- End If
- hwebrequest.Method = "POST" 'on defini la methode à utiliser
- hwebrequest.ContentType = "application/x-www-form-urlencoded" 'on defini le type de contenu de la requete
- hwebrequest.ContentLength = data.Length 'on defini la taille des données à envoyé
- writer = New IO.StreamWriter(hwebrequest.GetRequestStream) 'on crée un objet streamwriter qui va nous permettre d'envoyer nos données
- writer.Write(data) 'on ecrit les données
- writer.Close() 'on ferme l'objet streamwriter
- Dim hwebresponse As System.Net.HttpWebResponse = hwebrequest.GetResponse 'on crée un objet de reponse a notre requete
- reader = New IO.StreamReader(hwebresponse.GetResponseStream) 'on redefini notre streamreader avec la reponse à la requete en argument
- res = reader.ReadToEnd() 'on renvoie l'ensemble du resultat
- reader.Close() 'on ferme l'objet
- Return res
- Catch ex As Exception
- Return ex.Message.ToString
- End Try
- End Function
Private Function Get_request(ByVal url As String, Optional ByVal cookies As String = "", Optional ByVal proxy As String = Nothing, Optional ByVal proxyport As Integer = Nothing, Optional ByVal timeout As Integer = 30000, Optional ByVal login As String = "", Optional ByVal pass As String = "") As String
Dim reader As IO.StreamReader 'on crée un objet streamreader
Try
Dim hwebrequest As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url) 'on crée la requete web
hwebrequest.Timeout = timeout
If proxy <> "" Then
Dim hproxy As WebProxy
hproxy = New WebProxy(proxy, proxyport)
WebRequest.DefaultWebProxy = hproxy
End If
If login <> "" Then
Dim hcredential As New System.Net.NetworkCredential(login, pass)
hwebrequest.Credentials = hcredential
End If
If cookies <> "" Then
hwebrequest.CookieContainer = New CookieContainer
hwebrequest.CookieContainer.SetCookies(New Uri(url.Substring(0, url.IndexOf("/", 8))), cookies)
End If
Dim hwebresponse As System.Net.HttpWebResponse = hwebrequest.GetResponse 'on crée un objet de reponse a notre requete
reader = New IO.StreamReader(hwebresponse.GetResponseStream) 'on redefini notre streamreader avec la reponse à la requete en argument
Dim res As String = ""
res = reader.ReadToEnd() 'on renvoie l'ensemble du resultat
reader.Close() 'on ferme l'objet
hwebresponse.Close()
Return res
Catch ex As Exception
Return ex.ToString
End Try
End Function
Private Function Post_request(ByVal url As String, ByVal data As String, Optional ByVal cookies As String = "", Optional ByVal proxy As String = Nothing, Optional ByVal proxyport As Integer = Nothing, Optional ByVal timeout As Integer = 30000, Optional ByVal login As String = "", Optional ByVal pass As String = "") As String
Dim reader As IO.StreamReader
Dim writer As IO.StreamWriter
Dim res As String = ""
Try
Dim hwebrequest As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create(url) ' on crée la requete web à partir de l'url
If proxy <> "" Then
Dim hproxy As WebProxy
hproxy = New WebProxy(proxy, proxyport)
WebRequest.DefaultWebProxy = hproxy
End If
If login <> "" Then
Dim hcredential As New System.Net.NetworkCredential(login, pass)
hwebrequest.Credentials = hcredential
End If
If cookies <> "" Then
hwebrequest.CookieContainer = New CookieContainer
hwebrequest.CookieContainer.SetCookies(New Uri(url.Substring(0, url.IndexOf("/", 8))), cookies)
End If
hwebrequest.Method = "POST" 'on defini la methode à utiliser
hwebrequest.ContentType = "application/x-www-form-urlencoded" 'on defini le type de contenu de la requete
hwebrequest.ContentLength = data.Length 'on defini la taille des données à envoyé
writer = New IO.StreamWriter(hwebrequest.GetRequestStream) 'on crée un objet streamwriter qui va nous permettre d'envoyer nos données
writer.Write(data) 'on ecrit les données
writer.Close() 'on ferme l'objet streamwriter
Dim hwebresponse As System.Net.HttpWebResponse = hwebrequest.GetResponse 'on crée un objet de reponse a notre requete
reader = New IO.StreamReader(hwebresponse.GetResponseStream) 'on redefini notre streamreader avec la reponse à la requete en argument
res = reader.ReadToEnd() 'on renvoie l'ensemble du resultat
reader.Close() 'on ferme l'objet
Return res
Catch ex As Exception
Return ex.Message.ToString
End Try
End Function
Conclusion
ammeliorations? 'suis preneur.
Historique
- 13 mars 2006 01:25:33 :
- j'avais oublié d'enlever des arguments non utilisés dans la fonction get...
- 11 février 2007 16:38:11 :
- Merci à NeverDie pour l'information concernant l'authentification, qui me semblait optionnel à l'epoque, mais qui m'est aujourd'hui indispensable pour mon projet professionel. ^^
- 19 juillet 2007 01:10:27 :
- Ajout de la gestion des cookies, ainsi que des proxy.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
ACCESS et INTERNET (HTTP POST/GET) [ par SqUaB ]
Bonjour,Je suis à la recherche d'un moyen qui, depuis Access, me permettrait de faire des accès sur le WEB (HTTP/GET HTTP/POST). J'ai lu sur le forum
Comment Faire une requete HTTP Post ? [ par Cyberdevil ]
HI !EN faite ayant bcp de donnée a envoyer a un site je ne peut pas faire un simple GET (machin.htm?xx=rer etc...) donc je doit foutre les données dan
Requete HTTP : POST [ par vbguigui ]
Bonjour,J'aimerais avoir un programme qui créé et envoie une requete POST avec des données post. Y a-t-il quelqu'un qui sait le faire et le poster svp
serveur Http et get/post [ par smasher81 ]
Allo, je cherche depuis quelques temps seulement la façon de receillir un get ou un post d'une page sur mon serveur.. tout simple la.. Pourrais-tu m'a
SQL Serveur et HTTP POST REQUEST [ par OneHacker ]
Bon je repose mes questions car j'ai toujours pas de réponse depuis des mois, donc première question.Où trouver un installateur Microsoft SQL 2005 qui
Requete HTTP [ par JALEO WAHRANI ]
Salut,Je vous envoie ce post en car j'aurai besoin d'aide:Je dois depuis une appli VB envoyer des paramètres à une page Web par la méthode POST. Pour
Interconnection PHP (post Get...) [ par ABF ]
Bonjour, J'aimerais faire appel à une page php et recupérer le contenu. Comment faire appel à la page avec des parametres et ce sans le controle bro
lOGIN EN PHP [POST] [ par Tanner47 ]
Bonjour, pourriez vous m'aider, j'aimerai me connecter sur ce site via POST sous vb6 http://s9.gladiatus.fr/game/index.php?=mod=loginj'ai essayer sa m
authentification avec la méthode post [ par aurel16 ]
Bonjour, Je souhaiterais faire un petit logiciel pour m'authentifier directement au site Free. J'ai codé cela : Dim request As system.Net.HttpWebR
POST DATA [ par aurel16 ]
Bonjour, Je voudrais créer un logiciel qui permet de se loger automatiquement à un site web. Par exemple, j'ai créé une page sur le web qui demande u
|
Derniers Blogs
[WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
LISTER KEYS.KEYLISTER KEYS.KEY par Onin42
Cliquez pour lire la suite par Onin42
Logiciels
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 Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|