python - socket發(fā)送的信息怎么在瀏覽器中顯示出來(lái)
問(wèn)題描述
用socket模塊建立的socket服務(wù)端,比如監(jiān)聽(tīng)了本地的4399端口。用瀏覽器連接,但是顯示不了socket發(fā)來(lái)的字符。這該怎么辦?
問(wèn)題解答
回答1:因?yàn)槟愕亩丝诓皇?0, 所以瀏覽器沒(méi)法用http協(xié)議去解析你的請(qǐng)求, 因?yàn)樗徽J(rèn)識(shí)4399是干嘛的, 所以如果你想用監(jiān)聽(tīng)4399,并且用瀏覽器看到socket服務(wù)端發(fā)送的消息, 你就必須自己構(gòu)建http報(bào)文
import sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # tcp 報(bào)文s.bind((’localhost’, 4399))s.listen(2)req, req_info = s.accept()req.recv(65549)# http協(xié)議頭是文本形式, 以rn作為每個(gè)字段的分隔, 最后頭部以rn結(jié)束, 所以我們主要構(gòu)造好 http頭, 瀏覽器就能識(shí)別的, 接下來(lái)的正文, 就能按照html的標(biāo)準(zhǔn)的編寫(xiě)了req.send(’HTTP/1.1 200 OKrnrn<html><body>hello</body></html>’)回答2:
關(guān)于Python SOCKET, 如果你是想瀏覽器看到數(shù)據(jù),那么你肯定要實(shí)現(xiàn)HTTP協(xié)議,不然瀏覽器怎么會(huì)知道你發(fā)來(lái)的啥,數(shù)據(jù)量有多大?關(guān)于Python Socket HTTP ,請(qǐng)看這里 https://github.com/thisforeda...
相關(guān)文章:
1. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個(gè)是怎么回事????2. macos - mac下docker如何設(shè)置代理3. docker - 如何修改運(yùn)行中容器的配置4. docker gitlab 如何git clone?5. docker api 開(kāi)發(fā)的端口怎么獲取?6. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。7. javascript - 連續(xù)點(diǎn)擊觸發(fā)mouseleave事件8. debian - docker依賴的aufs-tools源碼哪里可以找到啊?9. docker start -a dockername 老是卡住,什么情況?10. dockerfile - 我用docker build的時(shí)候出現(xiàn)下邊問(wèn)題 麻煩幫我看一下

網(wǎng)公網(wǎng)安備