Précédent   Forum des professionnels en informatique > Systèmes > Windows > IIS
IIS Forum d'entraide serveur Web IIS (Internet Information Services)
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/05/2007, 11h30   #1
Invité de passage
 
Inscription : avril 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 11
Points : 4
Points : 4
Par défaut IIS, Perl et content Type

tout d'abord bonjour, ca fait pas de mal

Je vais vous narrer ma tite histoire ^^ ca change des posts un peu trop serieux a mon gout Si vous voulez passer a l'action direct, sautez le paragraphe suivant ^^

Voila je suis stagiaire encore ^^ et je dois realiser des applis en Perl. Bien entendu je test au fur et a mesure du developpement... les lignes de commande je trouve ca génial, mais j'ai quand meme voulu regarder ce que ca donnait sur une page web... (parce que mes applis sont a destination d'un serveur web, jusque la tout le monde suit ^^ sauf la blonde au fond de la salle j'irai lui faire prendre des cours particuliers...)
Me voila donc a installer IIS, moi, a la base, administrateur linuxien... Je ne connais donc pas grand chose dans ce clicodrome, et je fais face a un probleme existentiel.

Mon appli est censée rendre le code d'une page HTML... et comme tout bon developpeur le sait, en Perl, il faut indiquer quel est le type de sortie de l'appli. J'ai donc méticuleusement rajouté cette jolie phrase :
Code :
print "Content-type: text/html\n\n";
mais ca ne change rien... mon code n'est pas traduit en HTML... et la page continue de m'afficher le code directement... Je pense que ca vient de la configuration parce que meme avec des scripts de tuto expliquant justement que la phrase precedente est essentielle, ca ne fonctionne pas...

Voila j'espere donc que vous saurez me repondre assez rapidement, ca fait 3h que je cale et que je ne trouve rien ni personne pour m'aider ^^

PS:
Je dispose de IIS v6.0 sur Vista. j'ai deja installer Perl, et j'ai ajouté un repertoire d'application, ainsi qu'un mappeur de scripts (en indiquant Perlis.dll), il semblerait que je doive indiquer aussi Perl.exe, mais j'ai fait toutes les options une a une et j'ai pas trouvé la case a cocher... xD ca tue tout windows
Nanano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 13h06   #2
Membre confirmé
 
Avatar de zzzThibaut
 
Inscription : février 2007
Messages : 223
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : février 2007
Messages : 223
Points : 253
Points : 253
tu dois configirer IIS pour que les extensions de tes fichiers perl soit d'abord parsé par PERL avant qu'il ne les envoie au browser. Car sans cela IIS lit ton fichier comme du simple text et l'envoi tel quel vers ton client.
zzzThibaut
__________________
--------------------------------------------------------------------------
For a moment, nothing happened. Then, after a second or so, nothing continued to happen.
Thibaut CHARLIER
zzzThibaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 13h29   #3
Invité de passage
 
Inscription : avril 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 11
Points : 4
Points : 4
mmh je ne suis pas sur que tu aies bien compris (ou ce serait moi), mais mon code Perl est interprété, il renvoie par print du code HTML... et c'est le HTML qui n'est pas interprété. Pour bien eclaircir les choses, voila mon code :
Code :
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
#!C:\Perl\bin

open(FIC,"<J://texte.html") or die("open: $!");

while( defined( $l = <FIC> ) )
{
   chomp $l;
   $x .=  $l."\n";
}

#print $x;
if( $x =~ /(.*)<BODY(.*?)>(.*)<\/body>(.*)/si)
{
	$head = $1;
	$bodyoptions = $2;
	$body = $3;
	$foot = $4;
}


print "Content-type: text/html\n\n";
print <<ENDHTML;
$head
<BODY $bodyoptions>
$body
</body>
$foot
ENDHTML
et voila un screen de ce que j'obtiens



ou on voit le code HTML rendu par le script... alors que je voudrais voir la page HTML ^^ pas son code ^^
Nanano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 15h32   #4
Membre confirmé
 
Avatar de zzzThibaut
 
Inscription : février 2007
Messages : 223
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : février 2007
Messages : 223
Points : 253
Points : 253
la ligne print "Content-type: text/html\n\n";, je pense que tu dois l'envoyer de le header de ta réponse, hors tu l'envoie en dehors du header.

Eassaye simplement de supprimer la ligne de ton code perl pour ce que cela donne.

Et en effet je n'avais pas bien compris ton problème.

zzzThibaut
__________________
--------------------------------------------------------------------------
For a moment, nothing happened. Then, after a second or so, nothing continued to happen.
Thibaut CHARLIER
zzzThibaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 16h14   #5
Invité de passage
 
Inscription : avril 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 11
Points : 4
Points : 4
euh... je suis un peu troublé... j'était justement venu parce qu'avec ou sans la ligne ca ne changeait rien...

Et la dans le doute je reessaie, voila que ca marche... n'importe quoi...
Sinon l'idée du placement n'était sans doute pas mauvaise ^^
Nanano est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 16h18   #6
Membre confirmé
 
Avatar de zzzThibaut
 
Inscription : février 2007
Messages : 223
Détails du profil
Informations personnelles :
Âge : 38

Informations forums :
Inscription : février 2007
Messages : 223
Points : 253
Points : 253
En fait ce qui est genant c'est que dans le screenshot que tu donnes, le code de ta page commence par content-type: text/html , alors que cette ligne doit-être traitée par le browser sans être affichée dans le code source, d'où l'idée du header.

Thibaut
__________________
--------------------------------------------------------------------------
For a moment, nothing happened. Then, after a second or so, nothing continued to happen.
Thibaut CHARLIER
zzzThibaut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2007, 16h42   #7
Invité de passage
 
Inscription : avril 2007
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 11
Points : 4
Points : 4
ben ca m'avait choqué aussi mais bon... quand j'ai vu les scripts de plusieurs tuto faire comme ca... j'ai admis ^^
Nanano est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h20.


 
 
 
 
Partenaires

Hébergement Web