2017-04-11 41 views
0

我試圖在OpenWRT安裝上運行的uhttpd server上執行Cgi-Cpp程序。 Cgi文件是/www/cgi-bin/sample.cgi並且也具有執行權限。我試圖用HTML文件訪問這個Cgi。這是我的sample.cgi文件:Luci無法啓動請求的CGI程序:/www/cgi-bin/sample.cgi:執行錯誤

unable to launch the requested CGI program: /www/cgi-bin/sample.cgi: Exec error 

我缺少什麼:

#include <iostream> 
#include <vector> 
#include <string> 
#include <stdio.h> 
#include <stdlib.h> 

#include <cgicc/CgiDefs.h> 
#include <cgicc/Cgicc.h> 
#include <cgicc/HTTPHTMLHeader.h> 
#include <cgicc/HTMLClasses.h> 

using namespace std; 
using namespace cgicc; 

int main() { 
    Cgicc formData; 

    cout << "Content-type:text/html\r\n\r\n"; 
    cout << "<html>\n"; 
    cout << "<head>\n"; 
    cout << "<title>Using GET and POST Methods</title>\n"; 
    cout << "</head>\n"; 
    cout << "<body>\n"; 

    form_iterator fi = formData.getElement("first_name"); 

    if(!fi->isEmpty() && fi != (*formData).end()) { 
     cout << "First name: " << **fi << endl; 
    }else{ 
     cout << "No text entered for first name" << endl; 
    } 
    cout << "</body>\n"; 
    cout << "</html>\n"; 

    return 0; 
} 

,當我在HTML點擊提交按鈕,我得到一個錯誤?所有權限都在那裏設置。有什麼建議麼?

回答

1

確保您正在構建程序。首先打開一個終端窗口,然後cd到/ www/cgi-bin。現在使用

ls -l 

列出目錄中的程序。你應該看到你的sample.cpp文件。如果它不在那裏,請將它移到那裏。如果您不再有sample.cpp文件,請使用您最初發布的代碼創建一個文本文件。你可以用像nano這樣的文本編輯器來做到這一點。

nano sample.cpp 

在您的源文件中輸入或粘貼。然後按ctrl-x保存並退出程序。確保你告訴nano保存程序,而不是退出。

接下來刪除你現有的sample.cgi。不要刪除sample.cpp。

使用此命令來構建的源代碼(sample.cpp的)成二進制可執行文件:

g++ sample.cpp -o sample.cgi 

的「-o」是字母「O」,而不是數字「0」。如果構建引發編譯錯誤,請修復錯誤並重復,直到成功構建該程序。你現在將有一個二進制文件「sample.cgi」。

確保「sample.cgi」可執行。如果沒有,則使其可執行

sudo chmod a+x sample.cgi 

確保您可以先從命令行執行sample.cgi。如果你不能這樣做,那麼服務器將無法做到。然後鍵入

"./sample.cgi". 

在執行應用程序後,您應該會在終端窗口中看到您從應用程序發送的html。

讓我們知道您是否需要進一步的幫助。

+0

運行'。/ sample.cgi'時,我得到'第1行:語法錯誤:意外的單詞(期待「)」)'。是否由於任何編譯問題? – user2986042

+0

我這麼認爲。你如何編寫程序?使用IDE或從命令行?如果來自命令行,請發佈命令來構建cgi腳本。其實我懷疑你正試圖運行C++源程序,就好像它是一個bash腳本。我將編輯我的原始帖子,向您展示如何構建C++源代碼。 – ClarkS

1

如果您嘗試使表單然後使用shell腳本然後C++。在這裏我向你展示我如何創建一個文件,路由器可以像dhcp,pppoe或靜態模式那樣設置。

#!/bin/sh 

echo "Content-type: text/html" 
echo "" 
echo '<html>' 
echo '<head>' 
echo '<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">' 
echo '</head>' 
echo '<br><h1><center>Welcome to Internet Service</center></h1>' 

if [ -z "$QUERY_STRING" ]; then 
    ssi=$(uci get [email protected][1].ssid) 
    key=$(uci get [email protected][1].key) 
    net=$(uci get network.wan.netmask) 
    ipa=$(uci get network.wan.ipaddr) 
    lip=$(uci -P /var/state get network.lan.ipaddr) 
    ppu=$(uci get network.wan.username) 
    ppp=$(uci get network.wan.password) 
    ser=$(uci get network.wan.service) 
    gat=$(uci get network.wan.gateway) 
    rad=$(uci get network.wan.proto) 
else 
# No looping this time, just extract the data you are looking for with sed: 
rad=`echo "$QUERY_STRING" | sed -n 's/^.*val_a=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ssi=`echo "$QUERY_STRING" | sed -n 's/^.*val_b=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
key=`echo "$QUERY_STRING" | sed -n 's/^.*val_c=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
lip=`echo "$QUERY_STRING" | sed -n 's/^.*val_j=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"`  
net=`echo "$QUERY_STRING" | sed -n 's/^.*val_d=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ipa=`echo "$QUERY_STRING" | sed -n 's/^.*val_e=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
gat=`echo "$QUERY_STRING" | sed -n 's/^.*val_f=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ppu=`echo "$QUERY_STRING" | sed -n 's/^.*val_g=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ppp=`echo "$QUERY_STRING" | sed -n 's/^.*val_h=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ser=`echo "$QUERY_STRING" | sed -n 's/^.*val_i=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
fi 

echo '<body>' 
echo "<form method=GET action=\"${SCRIPT}\">" 
if [ $rad = "dhcp" ]; then 
echo "<center><input type="radio" name="val_a" value="dhcp" checked> DHCP"\ 
    '<input type="radio" name="val_a" value="static"> Static'\ 
    '<input type="radio" name="val_a" value="pppoe"> PPPoE</center><br>' 
elif [ $rad = "static" ]; then 
echo "<center><input type="radio" name="val_a" value="dhcp"> DHCP"\ 
    '<input type="radio" name="val_a" value="static" checked> Static'\ 
    '<input type="radio" name="val_a" value="pppoe"> PPPoE</center><br>' 
else 
echo "<center><input type="radio" name="val_a" value="dhcp"> DHCP"\ 
    '<input type="radio" name="val_a" value="static"> Static'\ 
    '<input type="radio" name="val_a" value="pppoe" checked> PPPoE</center>     <br>' 
fi 
echo "<table nowrap align="center">"\ 
    '<tr><td>   SSID:</TD><TD><INPUT type="textarea" rows=1 name="val_b" size=12 value="'$ssi'" autofocus></td></tr>'\ 
    '<tr><td> WiFi Password:</td><td><INPUT type="textarea" rows=1 name="val_c" size=12 value="'$key'" maxlength="16" minlength="8"></td></tr>'\ 
    '<table nowrap align="center">'\ 
    '<center>(Password should be of 8 characters)</center>'\ 
    '<tr><td><br> LAN IPaddress:</td><td><br><INPUT type="textarea" rows=1 name="val_j" size=12 value="'$lip'"></td></tr>'\ 
    '<table nowrap align="center" style="border:2px solid;" cellspacing="5" cellpadding="5"><caption>Static Settings:-</caption>'\ 
    '<tr><td> Subnet Mask:</td><td><INPUT type="textarea" rows=1 name="val_d" size=12 value="'$net'"></td></tr>'\ 
    '<tr><td>  IPaddress:</td><td><INPUT type="textarea" rows=1 name="val_e" size=12 value="'$ipa'"></td></tr>'\ 
    '<tr><td>Default Gateway:</td><td><INPUT type="textarea" rows=1 name="val_f" size=12 value="'$gat'"></td></tr><br>'\ 
    '<table nowrap align="center" style="border:2px solid;" cellspacing="5" cellpadding="5"><caption>PPPoE Settings:-</caption>'\ 
    '<tr><td> PPPoE Username:</TD><TD><INPUT type="textarea" rows=1 name="val_g" size=12 value="'$ppu'"></td></tr>'\ 
    '<tr><td> PPPoE Password:</TD><TD><INPUT type="textarea" rows=1 name="val_h" size=12 value="'$ppp'"></td></tr>'\ 
    '<tr><td> Service Name:</TD><TD><INPUT type="textarea" rows=1 name="val_i" size=12 value="'$ser'"></td></tr><br>'\ 
    '</table></table></table>' 

echo '<center><br><input type="submit" style="width:80px;height:35px;" value="Save"></form>' 

# Make sure we have been invoked properly. 
if [ "$REQUEST_METHOD" != "GET" ]; then 
    echo "<hr>Script Error:"\ 
     "<br>Usage error, cannot complete request, REQUEST_METHOD!=GET."\ 
     "<br>Check your FORM declaration and be sure to use METHOD=\"GET\".<hr>" 
    exit 1 
fi 
# If no search arguments, exit gracefully now. 
if [ -z "$QUERY_STRING" ]; then 
    exit 0 
else 
# No looping this time, just extract the data you are looking for with sed: 
rad=`echo "$QUERY_STRING" | sed -n 's/^.*val_a=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ssi=`echo "$QUERY_STRING" | sed -n 's/^.*val_b=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
key=`echo "$QUERY_STRING" | sed -n 's/^.*val_c=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
lip=`echo "$QUERY_STRING" | sed -n 's/^.*val_j=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"`  
net=`echo "$QUERY_STRING" | sed -n 's/^.*val_d=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ipa=`echo "$QUERY_STRING" | sed -n 's/^.*val_e=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
gat=`echo "$QUERY_STRING" | sed -n 's/^.*val_f=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ppu=`echo "$QUERY_STRING" | sed -n 's/^.*val_g=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ppp=`echo "$QUERY_STRING" | sed -n 's/^.*val_h=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 
ser=`echo "$QUERY_STRING" | sed -n 's/^.*val_i=\([^&]*\).*$/\1/p' | sed "s/%20/ /g" | sed "s/%40/@/g" | sed "s/%28/(/g" | sed "s/%29/)/g" | sed "s/%25/%/g" | sed "s/%2B/+/g" | sed "s/%23/#/g" | sed "s/%21/!/g" | sed "s/%24/$/g" | sed "s/%5E/^/g" | sed "s/%3D/=/g" | sed "s/%7E/~/g" | sed "s/%7C/|/g" | sed "s/%7B/{/g" | sed "s/%7D/}/g" | sed "s/%5B/[/g" | sed "s/%5D/]/g" | sed "s/%3A/:/g" | sed "s/%3B/;/g" | sed "s/%3F/?/g" | sed "s/%2C/,/g" | sed "s/%3C/</g" | sed "s/%3E/>/g"` 

t1=$(ifdown wan) 
t2=$(uci set [email protected][1].ssid=$ssi) 
t3=$(uci set [email protected][1].encryption=psk2) 
t4=$(uci set [email protected][1].key=$key) 
t5=$(uci commit wireless) 
t5=$(ifup wan) 
t6=$(wifi) 
t16=$(uci set network.lan.ipaddr=$lip) 
t7=$(uci set network.wan.proto=$rad) 
t8=$(uci set network.wan.username=$ppu) 
t9=$(uci set network.wan.password=$ppp) 
t10=$(uci set network.wan.service=$ser) 
t11=$(uci set network.wan.netmask=$net) 
t12=$(uci set network.wan.ipaddr=$ipa) 
t13=$(uci set network.wan.gateway=$gat) 
t14=$(uci commit network) 
t15=$(/etc/init.d/network restart) 
fi 

echo '</body>' 
echo '</html>' 
exit 0 

只需從html中調用此文件,它將在任何瀏覽器中打開。
注意: - 對該文件授予777權限,並且不對此文件給予任何擴展名。通過給它的名字保存它。

+0

如果你發現這個有用,然後打勾作爲一個權利,所以其他人可以參考這一點。謝謝 –

相關問題