Hej,
Taka sytuacja. Popełniłem skrypt, który skanuje dostępne sieci wi-fi i ma je wyświetlić na stronie. Kod skryptu jest banalny i wygląda w ten sposób:
#!/bin/bash
FILE=/tmp/wifiscan
if [[ -f "$FILE" ]]; then
rm $FILE
fi
iw wlan0 scan > /tmp/wifiscan
if [[ -f "$FILE" ]]; then
if grep -q "wlan0" /tmp/wifiscan; then
ssids=($(cat $FILE | grep "SSID" | awk -F': ' '{print $2}'))
signals=($(cat $FILE | grep "signal" | awk -F'-| dBm' '{print $2}'))
echo "Content-type: text/html"
echo "<html>"
echo "<head>"
echo "<link type='text/css' rel='stylesheet' href='/style.css'>"
echo "<title>Wireless Networks Scan Results</title>"
echo "</head>"
echo "<body>"
echo "<div class='container'>"
echo "<h1>Available Wireless Networks:</h1>"
for ((i = 0; i < ${#ssids[@]}; i++)); do
echo " <p>SSID: ${ssids[i]}, Signal Strength: ${signals[i]}</p>"
done
echo "</div>"
echo "</body>"
echo "</html>"
fi
fi
Skrypt działa z shella i daje piękny wynik:
Content-type: text/html
<html>
<head>
<link type='text/css' rel='stylesheet' href='/style.css'>
<title>Wireless Networks Scan Results</title>
</head>
<body>
<div class='container'>
<h1>Available Wireless Networks:</h1>
<p>SSID: k1_net_keg_RPT, Signal Strength: 72.00</p>
<p>SSID: af3net, Signal Strength: 62.00</p>
</div>
</body>
</html>
natomiast jak go puszczam ze strony:
<form action='/cgi-bin/scan_wireless.cgi' method='post'>
<button type='submit'>Scan Wireless Networks</button>
</form>
to nieustannie otrzymuję wynik
Bad Gateway
The process did not produce any response
w logach web serwera oczywiście ani słowa. Ktoś? Coś? Bo zgłupiałem zupełnie
pozdr
KK