begin process at 2010 03 20 16:54:47
  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 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 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 Impossible d'installer Indy [ par ErayK ] bonjour,Je n'arrive pas à installer indy apparement j'ai un probleme avec le fichier DCC32.exeet il doit me manquer des bibliothèques, qqn pourrait me Fichiers Binaire. [ par AMokers ] Salut !Voila j'essaye de faire une fonction qui lis un block par rapport a ce que l'on lui dis mais je n'y arrive pas Il veux pas accepter ca :functio Avis au " débutant" en informatique [ par cheval22 ] Lu Vous etes pas fort en informatique et voulez avoir un site ?Je peut vous donner des conseils et aider afaire un site avec multimania, aol, yahoo ..


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
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 : 0,577 sec (3)

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