2013-05-21 24 views

回答

0

要檢索URL,您必須實現一些HTTP協議。

This是HTTP協議的官方文檔。

如果您只是想輸入的URL的路徑,您可以解析一些請求數據。以下是瀏覽器發出的HTTP請求示例:

GET /index.html HTTP/1.1 
Host: www.example.com 

第一行的第一個字是要執行的命令。接下來是服務器的路徑,而不是協議及其版本。下一行(在這個例子中)指定主機。這例如用於提供許多網站的服務器。這個功能被稱爲虛擬主機。

重要的是要注意HTTP請求的每一行和響應由\r\n字符分隔。

看看HTTP Protocol on Wikipedia。實現一些非常基本的功能是一個好的開始。

+0

我知道什麼是HTTP協議和它的語法(我已經通過了大學課程「計算機網絡」),但我真正想知道的是瀏覽器在我建立的套接字上寫入?看看我的一段代碼: socket = server-> nextPendingConnection(); (socket-> state()== QTcpSocket :: ConnectedState) {socket,SIGNAL(readyRead()),this,SLOT(onReadyRead())); } 和onReadyRead()插槽內的socket-> bytesAvailable()函數返回零是否有任何其他瀏覽器發送URL的方式? – user2403964

+0

是的,它的確如此。請在你的問題中發佈你的代碼的更多細節,以便我們分析你所做的並提供更好的答案。與此同時,你是否試圖用'atEnd'方法實現'readyRead'信號呢?查看此URL詳細信息:http://qt-project.org/doc/qt-4.8/qabstractsocket.html#atEnd –