TCP 服务器连接网页,根据网页不同的点击,返回不同的网页内容

标签: socket 服务器 tcp server 对象
8人阅读 评论(0) 收藏 举报
分类:
import socket
import re


def main():
pass
#服务器tcp服务器对象
tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)


#设置我们的端口地址重用
tcp_server.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)


#绑定端口号
tcp_server.bind(("",6789))
#改成被动模式
tcp_server.listen(True)
#循环去处理客户请求
while True:
client,addr = tcp_server.accept()         #我这个是简单版的,也可以在这边加上多进程,线程那个,xie'cheng实现多任务
# print(addr)


#接收数据
data = client.recv(1024).decode()
head_lines = data.splitlines()
try:
print(head_lines[0])
#GET /index.html HTTP/1.1
#使用正则去获取地址
re_match = re.match(r'[^/]+(/[^ ]*)', head_lines[0])   
#判断是否匹配了      
if re_match: #匹配 了     
#如果是/那么去首页
if file_name == "/":
file_name = "/index.html"
except Exception as e:
print(e)  #工作中是记录到文件


#返回数据
#响应头
#空行
#响应体
try:
headers = "HTTP/1.1 200 OK\r\n"




#会根据不同的地址返回不的内容
#打开文件写读文件内容
with open("./html%s"%file_name,'rb') as f:   #这样写有一个好处,如果是图片就不会有问题
body = f.read() #读取文件
#上面一般是ui设计师给你提前写好的文件,你拿来用就可以了

# body = "show page is find!"


# content = headers +"\r\n" +body
content = headers +"\r\n"


# client.send(content.encode("utf-8"))
client.send(content.encode("utf-8"))
client.send(body)
except Exception as e:
print(e)
#返回一个404的正常显示的页面
head = "HTTP/1.1 404 NOT FIND\r\n"
body = "not find page!"
content = head + "\r\n" + body




client.send(content.encode("utf-8"))




#关闭客户端
client.close()
#关闭服务器
tcp_server.close()




if __name__ == '__main__':
    main()
查看评论

使用锚链接同一个网页的不同部分(不同网页的特定部分)

1.使用锚链接同一个网页的不同部分(适用于网页内容较长的情况) 使用超链接在网页开头法人地方制作一个向导链接,当点击这些向导链接时,网页会滚动到特定的目标 代码如下: ...
  • lf1218
  • lf1218
  • 2016-04-16 22:15:10
  • 6172

根据IP显示不同网页

function cip(sip) tip=cstr(sip) sip1=left(tip,cint(instr(tip,".")-1)) tip=mid(tip,cint(instr(tip,"."...
  • snlixing
  • snlixing
  • 2007-05-28 09:01:00
  • 934

一次网页请求背后的连接

一次网页请求背后的连接 想成为一个优秀的前端,对互联网协议是必须要了解的。本文使用WireShark抓包工具,对一次网页请求背后的TCP连接、HTTP请求进行了详细的展示。对网页请求中浏览器使用的...
  • a153375250
  • a153375250
  • 2016-12-07 10:55:39
  • 2232

js-客户端信息-js根据不同浏览器做不同跳转

//如果是mobileAgents var sUserAgent=navigator.userAgent; var mobileAgents=['Windows CE','iPod','Symbi...
  • liwenjie001
  • liwenjie001
  • 2014-04-28 15:23:54
  • 1134

不同入口进入同一页面,页面中的显示内容不一样

//从两个a链接进入同一个页面recharge.html,点击“充值”进入页面时需要显示 $('.addmon'),隐藏$('.mywallets'),点击“购物券”时则相反。此时需要判断用户是点击了...
  • einafetsslly
  • einafetsslly
  • 2018-01-25 16:13:01
  • 226

java server pages

  • 2012年04月21日 05:55
  • 9.04MB
  • 下载

点击下拉菜单按钮根据下拉框的值在当前页面显示不同的网页内容。

function a(obj) { var _selectedvalue = obj.value; if(_selectedvalue==''){ _selectedvalue...
  • qianjin_40
  • qianjin_40
  • 2016-04-13 08:34:39
  • 1331

根据不同访问设备跳转到PC页面或手机页面

目前很多网站都是采用了响应式自适应页面的设计了,根据访问设备的不同,显示不同的内容。但是还是会有一些节奏比较慢的网站,还是PC页面和手机PAD页面不同的访问域名。正好我这里有个需要,同一个域名要根据不...
  • lwg910919an
  • lwg910919an
  • 2017-07-31 16:50:05
  • 589

js根据不同设备进行页面跳转

最近工作遇到一个问题,就是点击按钮通过判断不同设备跳转页面...问题主要是在苹果设备上有点无奈,下面是一个简单的例子~ test.html部分 js判断不同设备 ...
  • qq_29326717
  • qq_29326717
  • 2017-04-25 15:11:07
  • 1292

根据不同的浏览器调用不同的CSS设置[网页特效]

  • 2010年05月29日 11:38
  • 2KB
  • 下载
    个人资料
    等级:
    访问量: 86
    积分: 51
    排名: 182万+
    文章分类
    文章存档