problème de cgi

problème de cgi - Linux et OS Alternatifs

Marsh Posté le 02-10-2002 à 10:44:39    

bon y a un truk ke je comprends pas...je me susi fait un script me permettant de voir les utilisateurs de mon proxy en temps réel, l'objet qu'ils demandes ainsi que la taille de cet objet. Bref rien de très exceptionnel...
ken je lance le script en ligne de commande, pas de problème, il me génère la page comme il faut et tout et tout...
mais dès que je veux l'afficher avec un navigateur, il me zappe tous les champs sauf le premier ??!!
 
Par exemple, si en ligne de commande j'obtiens ca :

<html>
<head>
<title>Utilisation Instant T</title>
</head>
<body>
<p align="left"><a href="../index.html">Retour au sommaire</a></p>
<tr>
<td><b>Machine</b></td>
<td><b>Méthode</b></td>
<td><b>URL</b></td>
<td><b>Taille (octects)</b></td>
</tr>
<tr>
<td>ser10</td>
<td>GET</td>
<td>http://www.tarifmedia.com/images/system/logos/l_owendo_s.gif</td>
<td>1397</td>
</tr>


et ba sur mon navigateur j'obtiendrais ca :

<html>
<head>
<title>Utilisation Instant T</title>
</head>
<body>
<p align="left"><a href="../index.html">Retour au sommaire</a></p>
<tr>
<td><b>Machine</b></td>
<td><b>Méthode</b></td>
<td><b>URL</b></td>
<td><b>Taille (octects)</b></td>
</tr>
<tr>
<td>ser10</td>
<td></td>
<td></td>
<td></td>
</tr>


 
Y a kelkun ki sait d'ou ca peut venir ce truk ??!!


---------------
Ne remets pas à demain ce que tu peux faire après-demain ! :sol:
Reply

Marsh Posté le 02-10-2002 à 10:44:39   

Reply

Marsh Posté le 02-10-2002 à 10:48:01    

Y a quoi dans ton script ? parce qu'avec juste le résultat c'est pas facile facile :D

Reply

Marsh Posté le 02-10-2002 à 10:55:03    

voilà mon script :

#!/bin/sh
 
ACCESS_LOG=/var/log/squid/access.log
 
echo -e "Content-type: text/html\n\n"
tmp=`netstat --inet | grep -i proxy | grep webcache | grep ESTABLISHED | gawk '{
print $5}' | cut -f 1 -d '.'`
array=()
 
echo -e "<html>\n<head>\n<title>Utilisation Instant T</title>\n</head>\n<body>"
echo "<p align=\"left\"><a href=\"../index.html\">Retour au sommaire</a></p>"
echo "<table border=\"0\" width=\"100%\">"
echo -e "<tr>\n<td><b>Machine</b></td>\n<td><b>Méthode</b></td>\n<td><b>URL</b><
/td>\n<td><b>Taille (octects)</b></td>\n</tr>"
count=0
for i in `echo $tmp`
do
  j=0
  num=1
  while [ 1 ]
  do
    if [ -z ${array[$j]} ]; then
      break
    fi
    if [ ${array[$j]} = $i ]; then
      num=`expr $num + 1`
    fi
    j=`expr $j + 1`
  done
  match=`cat $ACCESS_LOG | grep $i | tail -n $num | head -n 1`
  echo $match | gawk -v host=$i '{printf("<tr>\n<td>%s</td>\n<
td>%s</td>\n<td>%s</td>\n<td>%s</td>\n</tr>\n", host, $6, $7, $5)}'
  array[$count]=$i
  count=`expr $count + 1`
done
echo "</table>"
echo "</body></html>"


Message édité par slaanesh le 02-10-2002 à 10:56:07

---------------
Ne remets pas à demain ce que tu peux faire après-demain ! :sol:
Reply

Marsh Posté le 02-10-2002 à 11:03:52    

mmm...
 
Quand tu l'executes en CGI, tu es sous quel utilisateur ? dès fois qu'il arrive pas a lancer netstat, ou qqch dans le genre ...

Reply

Marsh Posté le 02-10-2002 à 11:16:18    

ba sous l'utilisateur apache
mé j'ai vérifié les permissions y a pas de problèmes...
encore une fois, ken je le lances avec la console et l'utilisateur apache, la page générée est nickelle...y a ke ken je veux l'afficher avec un browser ke ca merde ??!!  :heink:


---------------
Ne remets pas à demain ce que tu peux faire après-demain ! :sol:
Reply

Marsh Posté le 02-10-2002 à 11:28:25    

Je sais pas trop mais on dirait que dans le cas du browser, le resultat de ta commande $tmp n'est pas correct, voire vide...
 
t'as essayé de l'afficher sans formatage, et en redirigeant les erreurs vers la sortie standard ?
 
au pire, teste son code retour, ca peut servir ;)

Reply

Marsh Posté le 02-10-2002 à 11:47:41    

ba $tmp est bonne sinon il ne m'afficherai pas le nom des machines non plus ??!! :??:


---------------
Ne remets pas à demain ce que tu peux faire après-demain ! :sol:
Reply

Marsh Posté le 02-10-2002 à 11:53:10    

ah oui c'est vrai... one point ;)

Reply

Marsh Posté le 02-10-2002 à 12:13:22    

bon j'ai trouvé l'origine de l'erreur mé je comprends pas :
apparement j'ai po les permissions pour lire le fichier quand j'utilise le serveur apache mé par contre en mode console avec l'utilisateur apache ca passe...chelou ??!!


---------------
Ne remets pas à demain ce que tu peux faire après-demain ! :sol:
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed