使用浏览器访问python写的服务器程序

 更新时间:2019年10月10日 11:01:14   作者:KathyLJQ   我要评论
这篇文章主要介绍了用浏览器访问python写的服务器程序,本文通过实例代码,需要的朋友可以参考下

代码如下所示:

import socket
import re
import multiprocessing
def service_client(client_socket):
  data = client_socket.recv(1024)
  recv_data=data.decode("utf-8")
  print(recv_data)
  #GET /index.html HTTP/1.1
  ret=re.match(r"[^/]+ /([\S]+\s|\s)",recv_data)
  file_n="index.html"
  if ret:
    if ret.group(1)!=" ":
      print(ret.group(1))
      file_n=ret.group(1)
  else:
    print("代码有误!")
  try:
    with open(file_n,"rb") as f:
      content=f.read()
      f.close()
  except Exception as r:
    print(r)
    content = "<h1>file not found<\h1>".encode("utf-8")
  header="HTTP/1.1 200 OK\r\n"
  empty="\r\n"
  response=(header+empty).encode('utf-8')
  client_socket.send(response)
  client_socket.send(content)
  client_socket.close()
  print("client_socket.close()已调用")
def main():
  tcp_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
  tcp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
  local_addr=("127.0.0.1",7788)
  tcp_socket.bind(local_addr)
  tcp_socket.listen(128)
  while True:
    client_socket, client_addr = tcp_socket.accept()
    p=multiprocessing.Process(target=service_client,args=(client_socket,))
    p.start()
    # p.join()
  tcp_socket.close()
if __name__ == "__main__":
  main()

注意:

1.开始的时候file_n没有先定义,结果就报错:local variable ‘file_n' referenced before assignment

2.正则表达式一定要先验证筛取的内容是否正确。

3.要获取程序同级文件夹中文件夹的文件,相对路基为“文件夹名/文件名”

4.tcp_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) 要加不然容易出现“address already in use"之类的故障

总结

以上所述是小编给大家介绍的使用浏览器访问python写的服务器程序,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • python安装本地whl的实例步骤

    python安装本地whl的实例步骤

    在本篇文章里小编给大家整理的是关于python安装本地whl的实例步骤,有需要的朋友们可以学习下。
    2019-10-10
  • python实现的一个火车票转让信息采集器

    python实现的一个火车票转让信息采集器

    这篇文章主要介绍了python实现的一个火车票转让信息采集器,采集信息来源是58同程或者赶集网,需要的朋友可以参考下
    2014-07-07
  • Python中整数的缓存机制讲解

    Python中整数的缓存机制讲解

    今天小编就为大家分享一篇关于Python中整数的缓存机制讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • Python中的多重装饰器

    Python中的多重装饰器

    这篇文章主要介绍了Python中的多重装饰器,多重装饰器即多个装饰器修饰同一个对象,但实际上并非完全如此,本文用实例讲解了各种情况,需要的朋友可以参考下
    2015-04-04
  • 十行代码使用Python写一个USB病毒

    十行代码使用Python写一个USB病毒

    本文给大家分享一个基于十行代码使用Python写一个USB病毒,很简单,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 浅析Python3爬虫登录模拟

    浅析Python3爬虫登录模拟

    本篇文章通过学习python爬虫相关知识点来分析Python3爬虫登录模拟的原理以及相关代码分析,对此有兴趣的朋友参考下。
    2018-02-02
  • python根据京东商品url获取产品价格

    python根据京东商品url获取产品价格

    闲着没事尝试抓一下京东的数据,需要使用到的库有:BeautifulSoup,urllib2,在Python2下测试通过
    2015-08-08
  • python人人网登录应用实例

    python人人网登录应用实例

    这篇文章主要介绍了python人人网登录应用实例,是一个非常实用的技巧,需要的朋友可以参考下
    2014-09-09
  • 学习python (2)

    学习python (2)

    学习python (2)...
    2006-10-10
  • 在pycharm中显示python画的图方法

    在pycharm中显示python画的图方法

    今天小编就为大家分享一篇在pycharm中显示python画的图方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-08-08

最新评论