標籤:建議 span 0kb pass 執行 ble use sel ring
最近在做一個小型的個人部落格時,發現自己在資料擷取方面總是出現各種問題,現就網頁資料的擷取方式加以歸類總結。
最常見的擷取資料的方式有兩種:
1. get方法 從指定的資源請求資料 即從伺服器上擷取資料
2. post方法 向指定的資源提交要被處理的資料 即向伺服器傳送資料
需要注意的一點是:
Get方法:
- 查詢字串(成對的名稱和數值)是在 GET 請求的 URL 中發送的,若使用get方法請求參數,需要在請求的URL後面傳入請求的參數值 (該資訊使用者可以看到)
ex:http://localhost/17.5.21/postGet.php?name=max&pass=123
Post方法:
- 查詢字串(成對的名稱和數值)是在 POST 請求的 HTTP 訊息主體中發送的 (該資訊使用者看不到)
Post: http://localhost/17.5.21/postGet.php HTTP/1.1 Host: localhost name=max&pass=123
下面用一些代碼來實現具體的效果:
<?php$name = $_GET[‘name‘];var_dump($name);$pass = $_GET[‘pass‘];echo "<br/>";echo ‘pass=‘.$pass;echo ‘<hr>‘;?>
因為使用get方法請求資料,所以在請求參數時,應在請求的URL後面加上請求的參數資料:?name=max&pass=123
<form method="post" name="form" action="postGet.php"> <table > <tr> <td>使用者名稱:</td> <td><input type="text" name="username"/></td> </tr> <tr> <td>密碼:</td> <td><input type="password" name="psw"/></td> </tr> <tr> <td><input type="submit" name="Submit" value="提交"/></td> </tr> </table></form>
<?php $username = $_POST[‘username‘]; echo "使用者名稱:".$username; echo "<br/>"; $password = $_POST[‘psw‘]; echo "密碼:".$password;?>
Html效果
因為使用Post方法請求資料,所以在擷取參數時可以使用$_POST[‘‘]; 直接通過擷取html頁面中的name值得到對應的使用者在輸入框輸入的參數值
總結:
1. get是把參數資料隊列加到提交表單的ACTION屬性所指的URL中,值和表單內各個欄位一一對應,在URL中可以看到。
post是通過HTTP post機制,將表單內各個欄位與其內容放置在HTML HEADER內一起傳送到ACTION屬性所指的URL地址。使用者看不到這個過程。
2. 對於get方式,伺服器端用Request.QueryString擷取變數的值,對於post方式,伺服器端用Request.Form擷取提交的資料。
3. get傳送的資料量較小,不能大於2KB。
post傳送的資料量較大,一般被預設為不受限制。但理論上,IIS4中最大量為80KB,IIS5中為 100KB。
4. get安全性非常低,post安全性較高。但是get執行效率卻比Post高。
建議:
1、get方式的安全性較Post方式要差些,包含機密資訊的話, 建議用Post資料提交方式;
2、在做資料查詢時,建議用Get方式;而在做資料添加、修改或刪除時,建議用Post方式。
php中,post與get擷取參數的異同