Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Indy et javascript [ Archives / Réseau et Internet ] (Pierre42)

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é 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 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 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 struts [ par rouinin ] salut tout le mondesalut tout le mondesvp j'ai créeer une page jsp ou on affiche un tableau displaytag qui contient des enregistrement de la base de d [déplacé Bar -> Java] struts/displaytag [ par rouinin ] salut tout le mondesvp j'ai créeer une page jsp ou on affiche un tableau displaytag qui contient des enregistrement de la base de données dans chaque Message erreur suite à tentative de mise à jour des composants Indy [ par vieuxpere ] Bonjour, Je souhaite mettre à jour mon Delphi7 vers la version 10 d'Indy pour ce faire je suis cette procedure : (http://translate.google.com/transla


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC Magic

Entre 429€ et 429€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,328 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.