@

1.注意

浏览器解析的时候偶\r\n才算一个换行符

发送的str要编码,这里使用的是utf8

其他的都和上一篇没有什么区别

这里主要返回的是固定的网址

2.代码

from socket import *

def service_client(new_socket):
'''为这个客户端返回数据''' # 1.接收浏览器发送过来的请求,即http请求
#GET /HTTP/1.1
# ...
request = new_socket.recv(1024) #2,返回http格式的数据给浏览器
#2.1准备发送给浏览器的数据 ---header
response = "HTTP/1.1 200 OK\r\n"#正常浏览器\r\n代表的是换行
response += "\r\n"
#2.2准备发送给浏览器的数据
response += "hahaha"
new_socket.send(response.encode("utf-8")) #3.关闭套接字
new_socket.close() def main():
'''用来完成整体的控制'''
#1.创建套接字
tcp_server_socket = socket(AF_INET, SOCK_STREAM) # 2.绑定本地信息
port = 7891
address = ('', port)
tcp_server_socket.bind(address) # 3.变为监听,将主动套接字变为被动套接字
tcp_server_socket.listen(128) #等待连接
while True:
client_socket, clientAddr = tcp_server_socket.accept()
# 接收对方发送过来的数据
service_client(client_socket) # 关闭监听套接字
tcp_server_socket.close() if __name__ == "__main__":
main()

关于作者

个人博客网站

个人GitHub地址

个人公众号:

最新文章

  1. Linux工具入门:make工具与Makefile文件
  2. shell-引号
  3. cosine similarity
  4. Java基础知识系列——Exception
  5. 【收藏】Android AutoLayout全新的适配方式, 堪称适配终结者
  6. ie6兼容之绝对定位元素内容为空时高度问题
  7. Kernel Function--核函数收集
  8. hdu 1542 Atlantis(线段树,扫描线)
  9. Qt webkit插件相关知识
  10. rails获取json内容
  11. PAT乙级 1013. 数素数 (20)
  12. Android 常用工具类之SPUtil,可以修改默认sp文件的路径
  13. visio画UML用例图没有include关系的解决方法
  14. document cookie用法
  15. HBase shell 常用指令
  16. js对于工厂模式的理解
  17. UIImageView设置为圆形
  18. XHR 框架与 Dojo( xhrGet,xhrPut,xhrDelete)
  19. ubuntu 源码安装 swig
  20. socket用法

热门文章

  1. 如何用ABBYY解决文档图像存在缺陷,OCR 准确性低的问题
  2. Win10定期执行python程序
  3. redis 一致性分析
  4. [BUGCASE]Phantom服务代码不健壮导致无法发送报表邮件
  5. Fiddler 4的安装
  6. 洛谷P3901 数列找不同(莫队水题)
  7. jdk版本下载
  8. 第15.27节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTreeWidget详解
  9. 第12.1节 Python os模块导览
  10. PyQt学习随笔:Model/View中视图数据项编辑变动实时获取变动数据的方法