IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

travailler avec requêtes HTTP


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut travailler avec requêtes HTTP
    Bonjour,

    Je m'explique,

    je suis occupé de développer un gadget Live.com.
    Les languages utilisés sont le XHTML et le Javascript.
    Le but est de faire des requêtes sur des pages existantes( une par la méthode get et une par la méthode post).
    Seulement le Javascript pose des problèmes au niveau des requêtes HTTP.
    C'est pour celà que Windows Live a mis en place un proxy pour permettre les requêtes cross-domain, mais n'est prévu que pour la méthode Get.
    J'ai donc besoin de créer une page ASP.Net sur le meme domaine que la page dont j'ai besoin, que j'interrogerai en lui envoyant des paramètres par la méthode Get en javascript sur mon gadget.
    a partir de là, la page ASP effectuera une requête POST sur la page voulue et me renverrai sur mon Gadget, une page au format XML avec les données dont j'ai besoin ou carrement la page HTML en entière.

    Le gros soucis c'est que je n'ai aucune idée de comment faire.

    Est ce que quelqu'un saurait me mettre sur la voie?

    Merci

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    Merci
    je vais pouvoir avancer avec ca.

    Maintenant comme je l'ai dit je n'ai jamais fait ca.
    Comment puis-je récupérer les paramètres qui ont été envoyé pour pouvoir construire ma requête POST?

    et Comment renvoyer un fichier html ou xml(html que j'aurai parser)?

    merci

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Euh... je vais pas te faire un cours sur ASP.NET, hein
    D'abord je ne suis pas expert sur la question, et il y a déjà plein de tutos à ce sujet...
    http://dotnet.developpez.com/cours/?...sharp#aspnetcs

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    merci je vais aller voir ca

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    bonjour,

    J'ai donc réussi à récupérer mes paramètres et à créer ma requête HTTP via la méthode POST.
    Mais je ne sais que faire de ma réponse.
    Comment je fais pour renvoyer cette réponse? Est ce qu'il est possible de remplacer complètement ma page par le contenu que j'ai récupéré?
    ou y a t-il une meilleure façon de faire???

    Merci

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ben ça dépend de ton application... comme tu donnes pas beaucoup de détails je sais pas trop comment te répondre

    Tu peux écrire ce que tu veux dans la page envoyée au client avec la méthode Response.Write

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    Je te met du code, ca peut être utile pour mieux expliquer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Net;
     
    public partial class _Default : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                string param = "start=Rechercher&queryPageDisplayed=yes&REQ0JourneyStopsS0A=" + Request.QueryString["sa"];
                param += "&REQ0JourneyStopsS0K=" + Request.QueryString["sk"] + "&REQ0JourneyStopsZ0A=" + Request.QueryString["za"];
                param += "&REQ0JourneyStopsZ0K=" + Request.QueryString["zk"] + "&REQ0JourneyDate=" + Request.QueryString["d"];
                param += "&REQ0JourneyTime=" + Request.QueryString["t"] + "&REQ0HafasSearchForw=" + Request.QueryString["f"];
                param += "&REQ0JourneyProduct_prod_list=" + Request.QueryString["p"];
                string url = "http://hari.b-holding.be/hari2/acc/bin/query.exe/fn?seqnr=1&ident=" + Request.QueryString["id"] + "&OK#focus";
                HttpWebRequest hwr = (HttpWebRequest)WebRequest.Create(url);
                hwr.ContentType = "application/x-www-form-urlencoded";
                hwr.Method = "POST";
                byte[] bytes = System.Text.Encoding.ASCII.GetBytes(param);
                hwr.ContentLength = bytes.Length;
                System.IO.Stream os = hwr.GetRequestStream();
                os.Write(bytes, 0, bytes.Length);
                os.Close();
                HttpWebResponse resp = (HttpWebResponse)hwr.GetResponse();
                System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
                string responsehtml = sr.ReadToEnd().Trim();
            }
            catch (Exception exc)
            {
            }
        }
    }
    donc dans ma variable responsehtml, je récupère ma réponse html. et c'est celle là que je dois récupéré.
    donc la manière la plus probable est d'insérer ce contenu dans un div pour que je puisse d'interpréter dans mon widget...
    mais je ne sais pas comment faire...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    bon j'ai essayé un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Write("<div id=\"contenu\">" + sr.ReadToEnd().Trim() + "</div>");
    J'arrive donc à récupérer mon contenu sur mon widget.
    Mais le soucis en voyant le code source j'ai deux fois les balises <html> ==> donc deux fois <body> et deux <head>.
    les uns aux dessus des autres.
    Il y a pas moyen de récupérer mon contenu dans un div comme je l'ai fait mais qui soit à l'intérieur des balises body de ma page.

    Je crois que c'est plutot une question d'éthique ou validation (comme vous voulez ) car ca n'a pas l'air très propre pour l'instant.


    Merci

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ben y a différentes possibilités... la plus simple :

    dans le fichier.aspx, tu mets :

    Code ASP.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <div id="toto" runat="server">
    </div>

    et dans le code behind tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    toto.InnerHtml = responsehtml;

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    Un très grand merci, j'avais essayé mais en oubliant le runat="server" et donc l'id n'était pas reconnu dans le code behind.

    Un très grand merci.

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    n'oublie pas le bouton si c'est réglé

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    j'attend toujours le lendemain pour le faire, car il arrive encore des pépins.
    Comme j'ai en ce moment.
    Ma page est donc hébergée. Cependant lorsque j'effectue une requête http via javascript, je reçois une erreur 502, alors que dans un iframe, je reçois une réponse avec mon code html sans erreur.
    A quoi celà peut être du?

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    http://fr.wikipedia.org/wiki/Liste_des_codes_HTTP :
    502 Bad Gateway ou Proxy Error Mauvaise réponse envoyée à un serveur intermédiaire par un autre serveur.

    Par contre je sais pas d'où ça vient

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    oui j'avais trouvé la signification mais je cherche une solution depuis 2h
    je comprend pas...
    Une autre requête est faite précédemment et elle fonctionne correctement et la suivante me retourne cette erreur là
    Je m'en vais rechercher ...
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Security] Spring Security access denied page avec requête HTTP DELETE
    Par RmnX64 dans le forum Spring
    Réponses: 0
    Dernier message: 28/02/2013, 15h34
  2. [Batch] Problème avec requête HTTP
    Par Cyanatide dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 11/09/2012, 13h34
  3. Faire une requête https avec une application Delphi 7
    Par davidkungfu dans le forum Web & réseau
    Réponses: 12
    Dernier message: 10/04/2008, 10h39
  4. [VBA] Requête + date pour travailler avec des recordsets
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 14/08/2006, 15h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo