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通信内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 转换数据类型函数和转换数据类型的作用

    Python 转换数据类型函数和转换数据类型的作用

    这篇文章主要介绍了Python 转换数据类型函数和转换数据类型的作用,围绕Python 转换数据类型的相关资料展开内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • Python实现多线程/多进程的TCP服务器

    Python实现多线程/多进程的TCP服务器

    这篇文章主要为大家详细介绍了Python实现多线程/多进程的TCP服务器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • 零基础写python爬虫之爬虫的定义及URL构成

    零基础写python爬虫之爬虫的定义及URL构成

    俗话说工欲善其事必先利其器,作为本系列文章的第一篇,我们同样也需要先利其器,先把爬虫的定义以及写爬虫所需要的基础知识先介绍给大家。
    2014-11-11
  • Pytorch自动求导函数详解流程以及与TensorFlow搭建网络的对比

    Pytorch自动求导函数详解流程以及与TensorFlow搭建网络的对比

    PyTorch是一个开源的Python机器学习库,基于Torch,用于自然语言处理等应用程序。2017年1月,由Facebook人工智能研究院(FAIR)基于Torch推出了PyTorch,这篇文章主要介绍了Pytorch自定义自动求导函数,以及PyTorch与TensorFlow搭建网络的对比
    2021-11-11
  • Pytorch创建随机值张量的过程详解

    Pytorch创建随机值张量的过程详解

    这篇文章主要介绍了Pytorch创建随机值张量的过程详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • python基础之集合

    python基础之集合

    这篇文章主要介绍了python集合,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2021-10-10
  • 使用pycharm运行flask应用程序的详细教程

    使用pycharm运行flask应用程序的详细教程

    这篇文章主要介绍了使用pycharm运行flask应用程序,首先大家需要使用pycharm创建你的第一个app,接下来就开始配置pycharm,需要的朋友可以参考下
    2021-06-06
  • Python线程编程之Thread详解

    Python线程编程之Thread详解

    这篇文章主要为大家介绍了Python线程编程之Thread,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • python 限制函数调用次数的实例讲解

    python 限制函数调用次数的实例讲解

    下面小编就为大家分享一篇python 限制函数调用次数的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Django中使用SMTP实现邮件发送功能

    Django中使用SMTP实现邮件发送功能

    在 Django 中使用 SMTP 发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在 Django 中配置 SMTP 发送邮件吧
    2025-01-01

最新评论