1.配置伺服器,開啟注釋
告訴伺服器cgi和pl字尾的檔案都是cgi指令碼
編寫python指令碼,並放入/var/www/cgi-bin/目錄下
#!/usr/bin/python
#-*- coding: utf-8 -*-
'content-type: text/plain
'hello, world!
'
瀏覽器輸入: www.localhost.com/cgi-bin/wang.py
編寫shell指令碼,並放入/var/www/cgi-bin/目錄下
#!/bin/shecho -e "
content-type: text/plain\n
"echo
"hello world!
"
瀏覽器輸入: www.localhost.com/cgi-bin/wang.sh
這樣直接通過url對使用者不友好,但給前端提供了介面,於是我又寫了個html檔案,放在www/html資料夾中,名為test.html
伺服器通常會有乙個www/cgi-bin的目錄,我在這裡放乙個shell指令碼,名為test2
#!/bin/shalias urldecode='
sed "s@+@ @g;s@%@\\\\x@g" | xargs -0 printf "%b"
'echo -e "
content-type: text/plain\n
"decoded_str=`echo $query_string |urldecode`
echo `$decoded_str`
一共就5句:
第1句表示是shell指令碼,實際上不加也可以,因為shell是預設的指令碼。
第2句我網上抄的,具體原理也不懂,作用是解碼url, 當url中有空格時,從客戶端傳過來會變成%20, 20是空格的16進製制ascii碼。
第3句是必須的,否則在客戶端呼叫時就出錯,是http協議規定的。
第4句就是將url解碼
第5句是執行命令並返回給客戶端
然後在瀏覽器中輸入url:127.0.0.1/cgi-bin/test2?pwd
結果為 /var/www/cgi-bin
兩個js函式,httpget是網上抄的,f是點選按鈕的**函式,主要兩句,第1句獲取使用者輸入並加上字首組成url,第2句呼叫httpget函式並將返回輸出。
使用時,瀏覽器中輸入127.0.0.1/test.html,效果如圖
apache 編寫cgi指令碼
1 裝載相關模組 可寫在 etc httpd conf httpd.conf 裡也可寫在虛擬主機配置檔案裡 loadmodulecgi modulemodules mod cgi.so cgi相關模組 loadmodulealias modulemodules mod alias.so 別名相關模組...
Linux計畫任務通過執行指令碼
linux計畫任務通過執行指令碼備份xampp安裝的mysql資料庫 鄧強 1.首先編輯計畫任務 vim etc crontab 加入以下 mysqldump mysqlbases to this file 0 2 root usr bin mysqlbak 這是設定每天2點定時執行 mysqlba...
設定Apache執行CGI程式
設定apache執行cgi程式 訪問 時訪問的是 另外目錄下的 cgi 程式。如此設定後,cgi bin 目錄下的任何檔案都以 cgi 程式執行。設定 cgi bin 目錄下的檔案用 cgi 執行。設定 cgi bin 之外目錄下的檔案中可以執行 cgi 程式,在 options 後加上 execc...