2011-05-23 143 views
3

我已經做了一個簡單的網頁在PHP中測試來自telnet的請求。 這裏是網頁(使用example.php)的代碼:http post請求幫助

<html> 
<body> 
<form method="post" action="example.php>"> 
Your Name:<input type="text" size="12" maxlength="12" name="Name"><br /> 
<input type="submit" value="submit" name="submit"> 
</form> 
<?php echo $_POST["Name"]; ?> 
</body> 
</html> 

這個工作從瀏覽器,但我想從遠程登錄進行測試。我試過:

telnet localhost 80 
POST example.php HTTP/1.0 
Host: localhost 
Content-Type: text/html; charset=iso-8859-1 
Content-Length: 11 

Name=myname 

但它不工作....任何幫助嗎?

+3

既可以看看Fiddler或Wireshark,看看真正的POST數據包包含什麼,或者閱讀RFC更深一點;) – Konerak 2011-05-23 07:59:49

+0

「但它不工作....」對不起,但這不是好的一種錯誤信息。 - 告訴我們更多關於系統的反應和行爲。檢查Web服務器訪問/錯誤日誌等。 – 2011-05-23 08:02:25

+0

是的,你是對的...我會盡力挖掘更深的:)無論如何,從服務器的響應是一個HTTP/1.1 400錯誤的請求 – user601836 2011-05-23 08:07:38

回答

2

改變您的內容類型

POST /example.php HTTP/1.0 
Host: localhost 
Content-Type: application/x-www-form-urlencoded 
Content-Length: 11 

Name=myname 
4

Konerak是對的。看看真實的請求。例如Content-Type。我只是試了一下,得到了

Content-Type: application/x-www-form-urlencoded 

你也錯過了第二個表單域:你的按鈕。但我想這並不重要......

Name=myname&submit=submit 

看看http://en.wikipedia.org/wiki/POST_%28HTTP%29的一些細節,併爲您的研究一個很好的起點......

更新:儘量

POST /example.php HTTP/1.0 
Host: localhost 
Content-Type: application/x-www-form-urlencoded 
Content-Length: 11 

Name=myname 

至少,這個工作對我來說...