python和JavaScript通信

 更新时间:2022年04月29日 09:14:26   作者:决战北京城  
这篇文章主要介绍了python和JavaScript通信,js和python是两种语言,js处理网页数据,python可作为服务端开发,两者通过websocket进行通信,下文具体操作内容需要的小伙伴可以参考一下
  • 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.jpg"/>
    <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通信内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • django美化后台django-suit的安装配置操作

    django美化后台django-suit的安装配置操作

    这篇文章主要介绍了django美化后台django-suit的安装配置操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • python 日期操作类代码

    python 日期操作类代码

    这篇文章主要介绍了python 日期操作类代码,里面涉及了python日期操作的一些基础知识,需要的朋友可以参考下
    2018-05-05
  • python快速建立超简单的web服务器的实现方法

    python快速建立超简单的web服务器的实现方法

    某些条件测试,需要一个简单的web服务器测试一下,为此专门去配置个nginx 或者 apache服务器略显麻烦,这里就为大家介绍一下使用python快速建立超简单的web服务器的方法,需要的朋友可以参考下
    2018-02-02
  • 跟老齐学Python之啰嗦的除法

    跟老齐学Python之啰嗦的除法

    python 除法运算 比较奇怪,和别的程序语言不大一样。从Python2.2开始,除法运算符除了/之外,又引入了一个除法运算符://,后一种运算符只用于进行整除法。对于除法运算符/,默认时的行为跟Python2.2之前的一样,它视操作数而定,既可以进行整除,也可以进行真除法。
    2014-09-09
  • Python实现普通图片转ico图标的方法详解

    Python实现普通图片转ico图标的方法详解

    ICO是一种图标文件格式,图标文件可以存储单个图案、多尺寸、多色板的图标文件。本文将利用Python实现普通图片转ico图标,感兴趣的小伙伴可以了解一下
    2022-11-11
  • Python中schedule模块定时任务的使用方法(2)

    Python中schedule模块定时任务的使用方法(2)

    这篇文章主要介绍了Python中schedule模块定时任务的使用方法,文章基于上一篇文章的内容展开的后续,需要的朋友可以参考一下
    2022-05-05
  • Python内置函数reversed()用法分析

    Python内置函数reversed()用法分析

    这篇文章主要介绍了Python内置函数reversed()用法,结合实例形式分析了reversed()函数的功能及针对序列元素相关操作技巧与使用注意事项,需要的朋友可以参考下
    2018-03-03
  • Python调用Redis的示例代码

    Python调用Redis的示例代码

    这篇文章主要介绍了Python调用Redis的示例代码,帮助大家更好的理解和学习python,感兴趣的朋友可以了解下
    2020-11-11
  • 对python opencv 添加文字 cv2.putText 的各参数介绍

    对python opencv 添加文字 cv2.putText 的各参数介绍

    今天小编就为大家分享一篇对python opencv 添加文字 cv2.putText 的各参数介绍,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python工具快速为音视频自动生成字幕(使用说明)

    python工具快速为音视频自动生成字幕(使用说明)

    这篇文章主要介绍了python工具快速为音视频自动生成字幕(使用说明),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01

最新评论