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

Web & réseau Delphi Discussion :

Delphi / web / Javascript


Sujet :

Web & réseau Delphi

  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut Delphi / web / Javascript
    Bonjours

    j'ai besoin de votre aide.

    J'utilise IdHttp pour OBTENIR ou POSTER des données d'un sites Web.
    Comment puis-je poster des données à un site Web s'il utilise JavaScript pour avoir accès à ses ressources ? Par exemple: javascript:something.func (? ?);

    Merci

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Tu ne peux pas, Indy n'est pas compatible avec le Javascript.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    y'a pas de moyen.

    le site a une image. quan je click il exécute un javascript.

    jve exécuter ce javascript a partir de mon application afin d'accédé a la page suivante.

  4. #4
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    y'a pas d'autre moyen ???

  5. #5
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    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
    <script language="javascript" type="text/javascript">
    <!--
    	function __doPostBack(eventTarget, eventArgument) {
    		var theform;
    		if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
    			theform = document.ReportViewer;
    		}
    		else {
    			theform = document.forms["ReportViewer"];
    		}
    		theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
    		theform.__EVENTARGUMENT.value = eventArgument;
    		theform.submit();
    	}
    // -->
    </script>
     
    <a href="javascript:__doPostBack('CrystalReportViewer1$_ctl1$_ctl0$_ctl1','')"><img title="Export" src="/crystalreportviewers/images/toolbar/export.gif" alt="" border="0" height="24" width="24" /></a>

  6. #6
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    y'a aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="hidden" name="__EVENTTARGET" value="" />
    <input type="hidden" name="__EVENTARGUMENT" value="" />

  7. #7
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    24h sans réponse.

    que dois-je faire ??!!!

  8. #8
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    As-tu accès au serveur ou bien il s'agit d'un site web non perso ?

    Regarde ce sujet si tu trouves une réponse.

  9. #9
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    c'est un site web non perso.

    enfaite je fait un logiciel pour un client du site. afin de ce connecté et voir ses données.

  10. #10
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    merci pour vos réponses

    j'ai vue ce lien sub y'a pas de solution. en plus mon n'est pas le méme

  11. #11
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    bon, alors on se fiche de savoir si la requête est en Javascript, ou pas, le navigateur va au final envoyer une requête HTTP au serveur, c'est cette requête que tu dois reproduire.

    ce que fait le javascript, c'est juste remplacer les "$" par des ":" dans eventTarget avant de coller sa valeur dans le champ __EVENTTARGET du formulaire, et il renseigne aussi __EVENTARGUMENT.

    Tout se termine sur un submit qui lance la requête comme si de rien n'était.

    faut donc retrouver le formulaire "ReportViewer" et ses champs pour produire ta requête (FireFox avec son extension Web Developper est très bien pour ça)
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  12. #12
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    merci paul de m'avoir répondu

    j'ai déja fait comme tu di mais NADA

    voici le code HTML

    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
     
    <form name="ReportViewer" method="post" action="ReportViewer.aspx" id="ReportViewer">
     
    <input type="hidden" name="__EVENTTARGET" value="" />
    <input type="hidden" name="__EVENTARGUMENT" value="" />
    <input type="hidden" name="__VIEWSTATE" value=".................">
     
    <script language="javascript" type="text/javascript">
    <!--
    	function __doPostBack(eventTarget, eventArgument) {
    		var theform;
    		if (window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) {
    			theform = document.ReportViewer;
    		}
    		else {
    			theform = document.forms["ReportViewer"];
    		}
    		theform.__EVENTTARGET.value = eventTarget.split("$").join(":");
    		theform.__EVENTARGUMENT.value = eventArgument;
    		theform.submit();
    	}
    // -->
    </script>
     
    <a href="javascript:__doPostBack('CrystalReportViewer1$_ctl1$_ctl0$_ctl1','')">
    <img title="Export" src="/crystalreportviewers/images/toolbar/export.gif" alt="" border="0" style="height:24px;width:24px;" /></a
    mon code source : (Incomplet)

    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
    var
      poz :integer;
      Params: TStringList;
      html, viewstate, loginurl: String;
    begin
     
      memo1.Lines.Clear;
      loginurl:='http://212.100.209.9/reports/ReportViewer.aspx';
      Params := TStringList.Create;
    
       try
           
         html:=idhttp1.Get(loginUrl);
    
         poz:=pos('name="__VIEWSTATE" value="',html);
         delete(html,1,poz+25);
         viewstate:=copy(html,1,pos('"',html)-1);
         
          with Params do
          begin
            Values['__VIEWSTATE'] := viewstate;
            Values['__EVENTTARGET'] := 'CrystalReportViewer1:_ctl1:_ctl0:_ctl1';
          end;
          
          HTML := idHTTP1.Post(loginUrl, Params);
          memo1.Lines.add(idHTTP1.Get(loginUrl));
    
          except
           {gestion d'erreur}
          end;
    
          Params.Free;

  13. #13
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    bon moi cette url m'affiche une erreur

    d'autre part, je ne connais pas bien les composants Indy, mais Get et Post sont deux méthodes HTTP qui renvoie toutes les deux du code HTML, donc le code devrait certainement être :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
          HTML := idHTTP1.Post(loginUrl, Params);
          memo1.Lines.add(HTML); // idHTTP1.Get(loginUrl));
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  14. #14
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    ola, je m'attend pas a une réponse rapide. thanks

    oui mais la. y'a une violation d'accés.

    est-il au moin correcte ? (mon code source)

    --------enfaite jsuis un débutant (2ans de programmation).----------------

  15. #15
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    pour l'url Faut t'identifié.

    http://212.100.209.7/security/Login.aspx?

  16. #16
    Expert éminent
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Par défaut
    Citation Envoyé par DevBel Voir le message
    pour l'url Faut t'identifié.

    http://212.100.209.7/security/Login.aspx?
    ben Indy aussi doit d'identifier alors

    j'imagine que la page de login te retourne un cookie, il faut alors que Indy invoque l'url de login (http://212.100.209.7/security/Login.aspx) en POST avec les champs demandés (__VIEWSTATE, TxtUsername, TxtPassword). Alors tu peux récupérer la valeur du cookie qu'il faudra alors intégrer dans tes requêtes suivantes.
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  17. #17
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    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
     
    script language="javascript">
            <!--
     
    function doGraphDrilldown_CrystalReportViewer1__ctl1(event, name, brch, offsetX, offsetY, pageNumber, nextpart) {
            if (ie4up)
                
    javascript:__doPostBack('CrystalReportViewer1$_ctl1','name=' + name + '&brch=' + brch + '&coord=' + (event.offsetX*15 / 1+parseInt(offsetX)) + '-' + (event.offsetY*15 / 1 +parseInt(offsetY)) + '&pagenumber=' + pageNumber + '&nextpart=' + nextpart)
            
    else
                javascript:__doPostBack('CrystalReportViewer1$_ctl1','name=' + name + '&brch=' + brch + '&coord=' + (event.layerX*15 / 1 
    +parseInt(offsetX)) + '-'  + (event.layerY*15 / 1 +parseInt(offsetY)) + 
    '&pagenumber=' + pageNumber + '&nextpart=' + nextpart)
            }
            // -->
        </script>
    j'arrive pas a comprendre

  18. #18
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    Pour ça y'a pas de probléme. c déja fait
    ça marche a 100%.

    je parle d'une page qui suit l'identification.

  19. #19
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    oups pardon. j'ai mal comprie.

  20. #20
    Membre averti
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 37
    Par défaut
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    procedure TForm1.Button10Click(Sender: TObject);
    var
      i:integer;
    begin
     
      memo1.Clear;
      loginurl:='http://212.100.209.9/reports/ReportViewer.aspx';
      Params := TStringList.Create;
      try
        cookies:=tstringlist.Create;
     
          html:=idhttp1.Get('http://212.100.209.9/reports/ReportViewer.aspx');
     
          count:=IdCookieManager1.CookieCollection.count;
          for i:=1 to count do
            cookies.Add(IdCookieManager1.CookieCollection.Items[i-1].CookieText);
     
     
          html:=idhttp1.Get(loginUrl);
     
          poz:=pos('name="__VIEWSTATE" value="',html);
          delete(html,1,poz+25);
          viewstate:=copy(html,1,pos('"',html)-1);
     
          with Params do
          begin
            Values['__VIEWSTATE'] := viewstate;
            Values['__EVENTTARGET'] := 'CrystalReportViewer1:_ctl1:_ctl0:_ctl1';
          end;
          memo6.Text:=params.Text;
          setCookies;
          IdHTTP1.HandleRedirects:=false;
          try
            HTML := IdHTTP1.Post(loginurl, Params);
            memo1.Lines.add(IdHTTP1.Get(loginurl));
     
          except on e: EIdHTTPProtocolException do
             begin
               if e.ReplyErrorCode<>302 then
                 raise e;
     
               count:=IdCookieManager1.CookieCollection.count;
               for i:=1 to count do
                 cookies.Add(IdCookieManager1.CookieCollection.Items[i-1].CookieText);
     
               setcookies;
               html:=idhttp1.Get(IdHTTP1.Response.Location);
               memo1.Lines.add(IdHTTP1.Get(loginurl));
             end;
          end;
     
         except on e: EIdHTTPProtocolException do
             begin
               memo2.lines.add(idHTTP1.response.ResponseText);
               memo3.lines.add(e.ErrorMessage);
             end;
     
          end;
     
          Params.Free;
    end;

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Application Delphi Web
    Par davelop dans le forum Bases de données
    Réponses: 7
    Dernier message: 24/04/2008, 07h06
  2. Delphi Web Services (Sécurité)
    Par VLDG dans le forum Web & réseau
    Réponses: 0
    Dernier message: 13/12/2007, 10h06
  3. SynEdit et Delphi Web Script
    Par petitprince dans le forum Delphi
    Réponses: 13
    Dernier message: 19/04/2007, 07h42
  4. Lien modifiant contenu page web - Javascript
    Par annekeuss dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/03/2007, 18h10
  5. Delphi - Web [recupération d'un flux http]
    Par Ultra-FX dans le forum Web & réseau
    Réponses: 1
    Dernier message: 09/12/2005, 10h35

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