小编Mar*_*rko的帖子

如何使用 python websockets 安全连接到 Bitstamp Websocket v2.0 API?证书验证错误

我正在尝试从 Bitstamp Websocket v2.0 API 获取实时比特币价格数据。如果需要的话去哪里获取证书?如果证书下载是自动的,我如何确保python可以验证收到的证书?

Bitstamp 网站上关于此事的文档相当缺乏。以下是 Bitstamp api 文档中的引用:

“一旦通过 websocket 握手(使用 HTTP 升级标头)打开连接,您就可以订阅所需的频道。”

Bitstamp API 文档:https://www.bitstamp.net/websocket/v2/

尝试在 websockets 文档中搜索:https://websockets.readthedocs.io/en/stable/

我研究过 websockets 和 ssl。现在我对握手有了一些了解,但经过多次尝试和搜索后我仍然不知道该怎么做。

import asyncio
import websockets

async def bitstamp_ticker():
    async with websockets.connect(
            'wss://ws.bitstamp.net', ssl=True) as websocket:
        pass

asyncio.get_event_loop().run_until_complete(bitstamp_ticker())
Run Code Online (Sandbox Code Playgroud)

根据我在 websocket 文档中的理解,添加 ssl=True 应该足以建立安全连接。但似乎 Python 3.6 中内置的证书颁发机构无法识别位戳证书。这就是错误发生的原因?

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)
Run Code Online (Sandbox Code Playgroud)

python ssl certificate verify websocket

5
推荐指数
1
解决办法
2834
查看次数

如何使用 Rust Image crate 避免“内存不足”解码错误?

我正在尝试使用 Rust 读取 8K 32 位 OpenEXR HDR 文件。使用 Image crate 读取文件:

use image::io::Reader as ImageReader;

let img = ImageReader::open(r"C:\Users\Marko\Desktop\HDR_Big.exr")
    .expect("File Error")
    .decode()
    .expect("Decode ERROR");
Run Code Online (Sandbox Code Playgroud)

这导致Decode ERROR: Limits(LimitError { kind: InsufficientMemory })

读取 4K 或更小的文件效果很好。

我认为缓冲会有所帮助,所以我尝试了:

use image::io::Reader as ImageReader;
use std::io::BufReader;
use std::fs::File;

let f = File::open(r"C:\Users\Marko\Desktop\HDR_Big.exr").expect("File Error");
let reader = BufReader::new(f);
let img_reader = ImageReader::new(reader)
    .with_guessed_format()
    .expect("Reader Error");
let img = img_reader.decode().expect("Decode ERROR");
Run Code Online (Sandbox Code Playgroud)

但结果是同样的错误。 这是图像箱本身的问题吗?可以避免吗?

如果解码图像后对解决方案有任何影响,我将使用如下原始数据:

let data: Vec<f32> = img.to_rgb32f().into_raw();
Run Code Online (Sandbox Code Playgroud)

谢谢!

image filereader rust

1
推荐指数
1
解决办法
522
查看次数

标签 统计

certificate ×1

filereader ×1

image ×1

python ×1

rust ×1

ssl ×1

verify ×1

websocket ×1