了解 Python HTTP 流

2024-02-18

我正在努力使用 Python 和请求访问流 API。

API 内容:“我们启用了一个流端点,以便利用持久的 HTTP 套接字连接来请求报价和交易数据。来自 API 的流数据包括发出经过身份验证的 HTTP 请求并保持 HTTP 套接字打开以持续接收数据”。

我如何尝试访问数据:

s = requests.Session()
def streaming(symbols):
    url = 'https://stream.tradeking.com/v1/market/quotes.json'
    payload = {'symbols': ','.join(symbols)}
    return s.get(url, params=payload, stream=True)  
r = streaming(['AAPL', 'GOOG'])

请求文档here https://requests.readthedocs.io/en/latest/user/advanced/显示两件有趣的事情:使用生成器/迭代器来处理在数据字段中传递的分块数据。对于流数据,建议使用以下代码:

for line in r.iter_lines():
    print(line)

尽管我不知道在生成器函数中放入什么,但似乎都不起作用,因为示例不清楚。使用 r.iter_lines(),我得到输出: "b'{"status":"connected"}{"status":disconnected"}'"

我可以访问标头,响应是 HTTP 200,但无法获取有效数据,或者找到有关如何在 python 中访问流式 HTTP 数据的清晰示例。任何帮助,将不胜感激。 API 建议使用 Java 的 Jetty 来保持流打开,但我不确定如何在 Python 中执行此操作。

标头:{'connection':'keep-alive','content-type':'application/json','x-powered-by':'Express','transfer-encoding':'chunked'}


正如 verbsintransit 所说,您需要解决身份验证问题,但是您的流媒体问题可以通过使用以下示例来解决:

s = requests.Session()

def streaming(symbols):
    payload = {'symbols': ','.join(symbols)}
    headers = {'connection': 'keep-alive', 'content-type': 'application/json', 'x-powered-by': 'Express', 'transfer-encoding': 'chunked'}
    req = requests.Request("GET",'https://stream.tradeking.com/v1/market/quotes.json',
                           headers=headers,
                           params=payload).prepare()

    resp = s.send(req, stream=True)

    for line in resp.iter_lines():
        if line:
            yield line


def read_stream():

    for line in streaming(['AAPL', 'GOOG']):
        print line


read_stream()

The if line:条件是检查是否line是一条实际消息或只是一条保持活动的连接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解 Python HTTP 流 的相关文章

随机推荐

  • 操作系统如何知道物理内存的实际大小?

    当计算机启动时加载操作系统时 操作系统如何知道硬件信息 是否有一些io指令或引导程序从BIOS获取信息 主板固件 也称为 BIOS ACPI 接口或 EFI 允许操作系统找出系统中 RAM 和 ROM 的物理映射 例如 这是启动 Linux
  • 将同一类别添加到多个类中

    我有一个 Objective C 类别 我想将其添加到多个类中 而不重复该类别中包含的代码 我只是想将相同的方法添加到多个类中 我有现有的类别NSManagedObject子类 Book Chapter Page 并且我想以干净且可维护的方
  • Java的全栈框架[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个完整的 Java 堆栈框架 从持久性到视图生成 CRUD 我没有使用 Rails 风格框
  • 模板中的类使用不完整

    我感到非常惊讶的是 在 g 的各种采样版本上 以下内容编译时没有错误或警告 Adapted from boost checked delete template
  • 什么是健全的编程语言?

    根据达特的网站 https www dartlang org guides language sound dart Dart 是一种声音语言 上面这句话中的 声音 是什么意思 我在其他主要编程语言中找不到任何类似的概念 谁能举出一些其他例子
  • 如何使用基于 XML 的 GUI 布局生成 python GUI?

    我在 Photoshop 中设计了一个自定义 UI 现在我想使用 XML 来创建 Python 的 GUI 我看到了这个网站http wiki xbmc org index php title WindowXML http wiki xbm
  • 与 Pandoc 一起使用的表布局

    我正在尝试创建文档生成工作流程 专业文档 目标是尽可能多地用 Markdown 编写 生成的文档应该是 PDF 同时仍然能够在必要时导出为 docx 我选择了 Pandoc 我将为其创建一个 Latex 模板并使用 YAML 文档来保存文档
  • 如何使用 NSURLConnection 下载文件?

    我想问一个关于目标 C 的问题 我想从 iPhone 应用程序中的服务器 CardDav 服务器 下载 vcf 文件 在我阅读了Apple Developer的API和库之后 我发现我应该使用NSURLConnection 类 http d
  • 使用Windows Auth对用户进行身份验证,然后在ASPNET Core 2.1中生成JWT

    我有一个 ASP NET Core 2 1 WebApi 我在其中实现了 JWT 身份验证 用户调用api authentication authenticate 在消息正文中传递他们的用户名 密码 并返回 JWT 然后他们使用该 JWT
  • ASP.NET 样板模板中的角色和权限有什么区别?

    在ASP NET Boilerplate中 为什么有角色和权限来控制授权呢 两者有什么区别 Role 一组权限
  • 如何在python中随机合并两个列表的两个元素并确保结果条目都是唯一的?

    我有两个列表 A 和 B 它们具有相同数量的元素 但每个列表中的元素不一定不同 我想通过随机耦合 A 和 B 中的元素来形成一个新列表 随机配对很重要 但是 我还需要确保结果列表中的每一对都是唯一的 到目前为止 我一直在按如下方式处理这个问
  • 虚拟方法被调用而不是重写

    我有四节课Event and Action这两个都是基类 然后我有两个子类Create Event and MoveTo Action Event包含一个列表Action实例 以及何时Trigger 被称为孩子Create它调用Event
  • IIS + 压缩 webpack-插件 (gzip) - 带有源的“脚本”加载失败

    I use 压缩 webpack 插件用于将 ASP NET MVC 5 项目中的 javascript 文件压缩为 gz 格式 我的一部分webpack config js with 压缩 webpack 插件设置 const Compr
  • 从 Golang 的阅读器中读取 < 8 位

    在 Golang 中处理原始 IP 包时 我遇到了一个问题 我似乎找不到解决方案 The IPv4规范 https www rfc editor org rfc rfc791包含小于 8 位的字段 例如 版本或标头长度 各 4 位 或标志
  • 在 iPhone MKMapView 中显示用户位置蓝点

    我正在 iPhone 应用程序的 MapView 中开发自定义引脚 这是代码 MKAnnotationView mapView MKMapView mapView viewForAnnotation id
  • 传递给 http.HandleFunc 的函数如何访问 http.ResponseWriter 和 http.Request?

    func main http HandleFunc handler func handler w http ResponseWriter r http Request I never declared initialized or pass
  • PHP 中的 HTML DOM 操作

    我想知道如何使用 PHP 操作 DOM 树 我已经看到一些在 html 文件中加载 XML DOM 的答案 但如果我不需要加载怎么办 如果我想要操作的文档中有 XML DOM 脚本怎么办 我下面有一个打印出所有文件夹的示例 填写答案中的空白
  • 来自字节数组的 Crystal Report 图像无法打印

    我有一个带有类作为数据源的水晶报表 我有一个字节数组 我将位图传递给它 但它没有打印在水晶报表上 请参阅下面我的代码 var d new Label var eanCreator new CreateEan var bf new Binar
  • 取消搁置到另一个分支

    我正在尝试使用 TFS Power Tools 将更改解压到另一个分支 我正在尝试执行命令 tfpt unshelve migrate NuGet Build source ProjectName Main Source target Pr
  • 了解 Python HTTP 流

    我正在努力使用 Python 和请求访问流 API API 内容 我们启用了一个流端点 以便利用持久的 HTTP 套接字连接来请求报价和交易数据 来自 API 的流数据包括发出经过身份验证的 HTTP 请求并保持 HTTP 套接字打开以持续