欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python和JavaScript通信

 更新時(shí)間:2022年04月29日 09:14:26   作者:決戰(zhàn)北京城  
這篇文章主要介紹了python和JavaScript通信,js和python是兩種語(yǔ)言,js處理網(wǎng)頁(yè)數(shù)據(jù),python可作為服務(wù)端開(kāi)發(fā),兩者通過(guò)websocket進(jìn)行通信,下文具體操作內(nèi)容需要的小伙伴可以參考一下
  • js和python是兩種語(yǔ)言,js處理網(wǎng)頁(yè)數(shù)據(jù),python可作為服務(wù)端開(kāi)發(fā),兩者通過(guò)websocket進(jìn)行通信。
  • websocket是socket的封裝,省去了通信上的HTTP協(xié)議轉(zhuǎn)換上的麻煩.
  • 大中型項(xiàng)目推薦使用torando/Djiango平臺(tái),兩個(gè)平臺(tái)集成度較高,方便開(kāi)發(fā)使用.

實(shí)驗(yàn)以發(fā)送html頁(yè)面上的圖片到服務(wù)器后端為例子.

服務(wù)端接收?qǐng)D片后,開(kāi)啟本地端口為10086的服務(wù),等待前端的連接.服務(wù)把前端發(fā)的圖像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

在頁(yè)面上嵌入img標(biāo)簽,連接服務(wù)端,點(diǎn)擊發(fā)送圖片,圖片發(fā)送至服務(wù)端,并且顯示返回結(jié)果.

?<!DOCTYPE html>
<html lang="en">
?
<head>
? ? <meta charset="UTF-8">
? ? <title>測(cè)試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()">發(fā)送圖片</>
<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 + ' 發(fā)送完成');
? ? ? ? };
?
? ? ? ? ws.onclose = function() {
? ? ? ? ? ? s = '斷開(kāi)了連接'
? ? ? ? ? ? alert(s);
? ? ? ? };
? ? ? ?
? ? ? ? function send_img() {
? ? ? ? ? ? image = document.getElementById('img');
? ? ? ? ? ? socket.send(image.src);
?? ??? ?}
? ? </script>
</body>
</html>

到此這篇關(guān)于python和JavaScript通信的文章就介紹到這了,更多相關(guān)js和python通信內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • django美化后臺(tái)django-suit的安裝配置操作

    django美化后臺(tái)django-suit的安裝配置操作

    這篇文章主要介紹了django美化后臺(tái)django-suit的安裝配置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • python 日期操作類代碼

    python 日期操作類代碼

    這篇文章主要介紹了python 日期操作類代碼,里面涉及了python日期操作的一些基礎(chǔ)知識(shí),需要的朋友可以參考下
    2018-05-05
  • python快速建立超簡(jiǎn)單的web服務(wù)器的實(shí)現(xiàn)方法

    python快速建立超簡(jiǎn)單的web服務(wù)器的實(shí)現(xiàn)方法

    某些條件測(cè)試,需要一個(gè)簡(jiǎn)單的web服務(wù)器測(cè)試一下,為此專門(mén)去配置個(gè)nginx 或者 apache服務(wù)器略顯麻煩,這里就為大家介紹一下使用python快速建立超簡(jiǎn)單的web服務(wù)器的方法,需要的朋友可以參考下
    2018-02-02
  • 跟老齊學(xué)Python之啰嗦的除法

    跟老齊學(xué)Python之啰嗦的除法

    python 除法運(yùn)算 比較奇怪,和別的程序語(yǔ)言不大一樣。從Python2.2開(kāi)始,除法運(yùn)算符除了/之外,又引入了一個(gè)除法運(yùn)算符://,后一種運(yùn)算符只用于進(jìn)行整除法。對(duì)于除法運(yùn)算符/,默認(rèn)時(shí)的行為跟Python2.2之前的一樣,它視操作數(shù)而定,既可以進(jìn)行整除,也可以進(jìn)行真除法。
    2014-09-09
  • Python實(shí)現(xiàn)普通圖片轉(zhuǎn)ico圖標(biāo)的方法詳解

    Python實(shí)現(xiàn)普通圖片轉(zhuǎn)ico圖標(biāo)的方法詳解

    ICO是一種圖標(biāo)文件格式,圖標(biāo)文件可以存儲(chǔ)單個(gè)圖案、多尺寸、多色板的圖標(biāo)文件。本文將利用Python實(shí)現(xiàn)普通圖片轉(zhuǎn)ico圖標(biāo),感興趣的小伙伴可以了解一下
    2022-11-11
  • Python中schedule模塊定時(shí)任務(wù)的使用方法(2)

    Python中schedule模塊定時(shí)任務(wù)的使用方法(2)

    這篇文章主要介紹了Python中schedule模塊定時(shí)任務(wù)的使用方法,文章基于上一篇文章的內(nèi)容展開(kāi)的后續(xù),需要的朋友可以參考一下
    2022-05-05
  • Python內(nèi)置函數(shù)reversed()用法分析

    Python內(nèi)置函數(shù)reversed()用法分析

    這篇文章主要介紹了Python內(nèi)置函數(shù)reversed()用法,結(jié)合實(shí)例形式分析了reversed()函數(shù)的功能及針對(duì)序列元素相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2018-03-03
  • Python調(diào)用Redis的示例代碼

    Python調(diào)用Redis的示例代碼

    這篇文章主要介紹了Python調(diào)用Redis的示例代碼,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11
  • 對(duì)python opencv 添加文字 cv2.putText 的各參數(shù)介紹

    對(duì)python opencv 添加文字 cv2.putText 的各參數(shù)介紹

    今天小編就為大家分享一篇對(duì)python opencv 添加文字 cv2.putText 的各參數(shù)介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-12-12
  • python工具快速為音視頻自動(dòng)生成字幕(使用說(shuō)明)

    python工具快速為音視頻自動(dòng)生成字幕(使用說(shuō)明)

    這篇文章主要介紹了python工具快速為音視頻自動(dòng)生成字幕(使用說(shuō)明),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01

最新評(píng)論