python和JavaScript通信

python和JavaScript通信

js和python是两种语言,js处理网页数据,python可作为服务端开发,两者通过websocket进行通信。

websocket是socket的封装,省去了通信上的HTTP协议转换上的麻烦.

大中型项目推荐使用torando/Djiango平台,两个平台集成度较高,方便开发使用.

实验以发送html页面上的图片到服务器后端为例子.

服务端接收图片后,开启本地端口为10086的服务,等待前端的连接.服务把前端发的图像url存在本地文件car.bmp.

import asyncio import websockets import urllib.request async def recv_user_msg(websocket):     while True:         url = await websocket.recv()         urllib.request.urlretrieve(url,'car.bmp')         await websocket.send('ok') async def run(websocket, path):     while True:         try:             await recv_user_msg(websocket)         except websockets.ConnectionClosed:             print("ConnectionClosed...", path)                     break if __name__ == '__main__':     print("127.0.0.1:10086 websocket...")     asyncio.get_event_loop().run_until_complete(websockets.serve(run, "127.0.0.1", 10086))     asyncio.get_event_loop().run_forever()

缺少module直接pip install安装解决.

pip install websockets pip install urllib

在页面上嵌入img标签,连接服务端,点击发送图片,图片发送至服务端,并且显示返回结果.

 <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>测试Socket——ws://127.0.0.1:10086</title> </head> <body>     <img id = 'img' src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1598273151875&di=2823d5f7c3aa5e075bd785572e3e1561&imgtype=0&src=http%3A%2F%2Fimage.9game.cn%2F2019%2F8%2F8%2F90082743.webp"/>     <button onclick = "send_img()">发送图片</> <script  type="text/javascript">         var socket;                var ws = new WebSocket("ws://127.0.0.1:10086/test");         socket = ws;         ws.onopen = function() {             console.log('连接成功');         };         ws.onmessage = function(evt) {             var received_msg = evt.data;             alert('recv:' + received_msg + ' 发送完成');         };         ws.onclose = function() {             s = '断开了连接'             alert(s);         };         function send_img() {             image = document.getElementById('img');             socket.send(image.src);         }     </script> </body> </html>

到此这篇关于python和JavaScript通信的文章就介绍到这了,更多相关js和python通信内容请搜索易知道(ezd.cc)以前的文章或继续浏览下面的相关文章希望大家以后多多支持易知道(ezd.cc)!

推荐阅读

    查看配置:酷睿i3530集展示办公平台

    查看配置:酷睿i3530集展示办公平台,,由于时间和精力的关系,我们不可能对所有的配置进行评论,希望我们能理解,我希望我们的评论能在那些需要帮

    AMD平台专业术语

    AMD平台专业术语,,1. AMD VISION技术 AMD公司曾经发布过的一份调查报告显示,消费者推迟购买硬件是由于他们对PC术语感到困惑。因此,AMD公

    Win7系统如何架设代理服务器

    Win7系统如何架设代理服务器,代理服务器,端口,本文目录Win7系统如何架设代理服务器Win7系统怎么设置代理服务器win7的网络代理设置在哪里

    探探语言设置|探探怎么设置语言

    探探语言设置|探探怎么设置语言,,1. 探探怎么设置语言打开探探软件,然后就有消息提示的红点,点开就行了!其实这些软件都是挺简单的操作的,都是

    git设置编码|git语言设置

    git设置编码|git语言设置,,git设置编码点击cap4j搜索从git直接链接上拉代码。git语言设置Git是一个开源的分布式版本控制系统,可以有效、高

    服务器设置家|服务器管理器设置

    服务器设置家|服务器管理器设置,,1. 服务器管理器设置Windows10打开服务管理器的方法:方法一、运行打开服务的命令services.msc打开“运行

    玩家体验:建立AMD超频平台的选择

    玩家体验:建立AMD超频平台的选择,,目前,65nm的Athlon 64 X2处理器是非常受欢迎的,这主要是由于处理器的高性价比和优秀的超频能力。也许你会