2011-05-28 72 views
1

我正在編寫一個小型Web服務器來爲項目生成Web界面。我使用的環境是LabVIEW,因爲這是我最熟悉的。PuTTY在測試我的服務器時返回混亂的HTML

的問題是,當我用膩子發送GET/HTTP/1.1,它返回

HTTP/1.1 200 OK 
Content-Type: text/html; charset=UTF-8 
<html> 
Content-Length: 52 
<head> 
foo 
</head> 
<body> 
bar 
</body> 
</html> 

LabVIEW中說,被送出的字符串:

HTTP/1.1 200 OK 
Content-Type: text/html; charset=UTF-8 
Content-Length: 52 
<html> 
<head> 
foo 
</head> 
<body> 
bar 
</body> 
</html> 

當在Web瀏覽器中打開HTML文件直接打開它。從服務器程序請求時,頁面不會完成加載,並且不顯示任何內容。我確信HTML是有效的。

如何更好地調試?我是否在PuTTY中缺少設置?我需要與National Instruments交談嗎?

+1

您可以採取兩種調試步驟: 查看網頁瀏覽器中的源代碼,可能是因爲瀏覽器對內容不嚴格。你可以使用TCP/IP嗅探器來尋找合適的發送數據。 你可以發佈你的LabVIEW代碼嗎? – 2011-05-29 08:07:02

回答

1

首先,請注意,這不是有效的HTTP,因爲在最後一個標題之後應該有一個空行;這可能是在瀏覽器中查看的問題。

其次,我打賭你不是一次打印所有的文本,而是通過某些獨立於HTML的通道打印標題,以便它們可以交錯。確保你使用相同的管道發送所有數據。

+0

我發佈的字符串是什麼一次發送到TCP寫入子。不多於一個寫。我已經修改了HTML看起來像這樣' 富 酒吧 ' – Jeff 2011-05-28 03:18:57

0

你可以嘗試從命令行使用windows telnet進行連接。可能可能會給你另一個線索。

此外,請嘗試打開登錄PuTTY並使用HEX編輯器查看日誌文件。也許有一些「奇怪」的字符混淆了輸出 - 你永遠不知道。

並且:使用「原始」連接類型而不是「Telnet」檢查您是否使用PuTTY進行連接。