begin process at 2012 02 08 17:11:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

Réseau et Internet

 > 

Indy et javascript


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Indy et javascript

vendredi 22 octobre 2004 à 18:21:44 | Indy et javascript

Pierre42

Membre Club

Je cherche à récuperer des pages html sur un site. J'utilise le composant Indy idhttp. Je precise le serveur et l'url et je recupere mon code HTML avec la fonction Get.

Probleme : sur certaines pages je dois lancer un javascript afin de cocher des cases ou choisir des items dans une liste puis valider le formualire ( document.forms[0].submit ) pour passer à la page suivante.

Or, ca coince car le javascript n'est pas une url.

Quelqu'un sait il comment je peux faire pour que idhttp sache que j'envoi un javascript et non une url ?

Merci beaucoup

Laurent Rigaldies
France Progiciels Distribution
www.franceprogiciels.com
vendredi 18 janvier 2008 à 17:53:36 | Re : Indy et javascript

TarikBelSOFT

bsr pierre.

si t'a trouvé la solution. please dite le moi.

merci
vendredi 18 janvier 2008 à 18:30:41 | Re : Indy et javascript

Pierre42

Membre Club
C'est assez facile en fait, il suffit de faire un idhttp1.post au lieu d'un idhttp.get et de passer la liste des boutons à cocher.


samedi 19 janvier 2008 à 10:16:46 | Re : Indy et javascript

TarikBelSOFT



oui mais pour mon cas le site Web utilise JavaScript pour avoir accès à autre page

voici le code :
------------------------------------------------------------------------------
<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>
-------------------------------------------------------------------------------------

Si le indy est incompatible avec le javascript. y'a t'il d'autre solution pierre

samedi 19 janvier 2008 à 11:06:43 | Re : Indy et javascript

Pierre42

Membre Club
Indy n'est pas compatible ou incompatible avec javascript, c'est un composant de transmission utilisant le protocole http. Le javascript est un langage de script, ce sont deux choses totalement différentes. Oublie le javascript et regarde uniquement les données transmises par http.

Quelle est le site ? Quelles sont les deux pages ? je vais regarder et te donner un exemple concret à partir de celles-ci.  

Laurent Rigaldies
France Progiciels Distribution
www.franceprogiciels.com
samedi 19 janvier 2008 à 17:05:07 | Re : Indy et javascript

TarikBelSOFT

				voici le code html :
				

<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 :

procedure TForm1.ExportClick(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;
samedi 19 janvier 2008 à 17:07:45 | Re : Indy et javascript

TarikBelSOFT

Mais avant ça faut m'identifié. je fait la méme chose
URL : http://212.100.209.7/security/Login.aspx?
Merci
samedi 19 janvier 2008 à 17:11:16 | Re : Indy et javascript

Pierre42

Membre Club
Salut,

Je t'ai demandé le nom du site et la page de départ et la page de destination, pas le javascript.

Laurent Rigaldies
France Progiciels Distribution
www.franceprogiciels.com

Laurent Rigaldies
France Progiciels Distribution
www.franceprogiciels.com
samedi 19 janvier 2008 à 17:23:27 | Re : Indy et javascript

Pierre42

Membre Club
Resalut,

Il faut comprendre une chose avec asp.net, c'est qu'il stocke certaines valeurs sur le serveur, avec le
VIEWSTATE. Donc il est certainement nécessaire de faire le chemin complet d'un utilisateur humain avant d'arriver aux pages que tu souhaites télécharger.
On ne peut pas acceder directement à la page
http://212.100.209.9/reports/ReportViewer.aspx faute d'avoir valider ces infos. Le cookie ne sert donc à rien.

Que cherches tu à faire précisement ?

Laurent Rigaldies
France Progiciels Distribution
www.franceprogiciels.com
samedi 19 janvier 2008 à 18:15:07 | Re : Indy et javascript

TarikBelSOFT

Je suis entrain de réaliser un logiciel pour un client. afin qu'il puisse e connecté et voir ses données.
(pour les données j'utilise pos et copy).

Je fait le chemin complet. je passe par 4 pages:

http://212.100.209.7/security/login.aspx?
http://212.100.209.7/Security/MainPage.aspx
http://212.100.209.9/reports/GroupInfo.aspx?tempSessID=1b379395-f117-4d72-96de-197a21760baf&culture=ar
enfin : 
http://212.100.209.9/reports/ReportViewer.aspx

1 2

Cette discussion est classée dans : javascript, pages, url, html, indy


Répondre à ce message

Sujets en rapport avec ce message

impression d'une page html contenant du javascipt [ par seni ] Bonjour, je veux imprimer une page html contenant du javascript a partir de Delphi, malheureusement lors de l'appel de la fonction wbBrowser.ExecWB(); Indy - Récupérer Url redirigée [ par Filipe35 ] bonjour je cherche à récupérer l'url "active" de mon composant indy. Le problème vient du fait que je charge une page tel que page.php?id=135 et ce serveur http +controle pc [ par MoveX ] bon, je souhaiterai faire un programme qui, lance sur un pc connecte a internet, permet de prendre le controle de ce pc par l intermediaire de pages h envoyer une page html avec indy [ par cc59 ] Bonjour,Voilà mon probleme,J'utilise le composant indy IdTCPServer pour renvoyer des pages html, jusque là tout va bien, je renvois une page sur "inte Comment afficher une page HTML avec Indy [ par H60 ] Bonjout à tous,Je débute avec Indy et je cherche à afficher une page HTML avec un composant Indy. Je récupère l'Url avec GetUrl du TIdHTTP mais commen Recuperer des informations sur des pages html [ par giorhof ] salut tout le monde, voici mon problème, je dois récupérer des informations sur plusieurs pages html et créer un fichier texte dans lequel je dois sa Envoi email format html avec INDY [ par GeulderackK ] Bonjour je voudrais savoir si quelqu'un a un exemple d'envoi de mail au format html avec les composants IndyMerci Problème Indy avec delphi 7 [ par bigrat ] [i]Bonjour a tous J'ai un problème pour installer la version de Indy_9_00_14_src avec Delphi 7 . Je suis sous Windows Vista [URL=http://imageshack. serveur de pages html [ par Gerard ] Bonsoir, je cherche à faire un serveur de page html qui pourrait être adressé par un navigateur. j'utilise donc une page html qui est ouverte dans un [BAR]plein de pages internet qui s'ouvre ( jusqu'a 158 ) [ par guy2lyon ] bonjour je solicite votre aide pour mon probleme lors de mes connections internets j'ai plein de pages "internet explorer" qui s'ouvre les unes apres


Nos sponsors


Appels d'offres

Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 4,290 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales