【问题标题】:OctoPrint API, error 400 when making a POST requestOctoPrint API,发出 POST 请求时出现错误 400
【发布时间】:2021-12-13 05:49:47
【问题描述】:

我正在与Octoprint's API 合作。我正在努力尝试向 3d 打印机发出命令。

例如,我想发出一个命令,让 3d 打印机在 X 轴上点动。

import requests
headers = {"Authorization": "Bearer <token>"}

def Beep():
  api_link = "http://octopi.local/api/printer/command"
  params = {"command":"jog","x":10}
  return requests.post(api_link, headers=headers, params=params)

此代码的输出是 (错误请求)。我错过了什么?

【问题讨论】:

    标签: python api python-requests octoprint


    【解决方案1】:

    来自 API 文档:

    如果没有另外说明,OctoPrint 的 API 期望请求正文和发布响应正文为 Content-Type: application/json

    您的请求未发送 JSON。改用这个:

    requests.post(api_link, headers=headers, json=params)
    

    另外,jog 命令看起来应该使用 url 路径 /api/printer/printhead

    【讨论】:

    • 成功了!非常感谢!是的,您对 jog 命令的看法是正确的,我只是复制粘贴而不看!谢谢!
    猜你喜欢
    • 2021-12-21
    • 2019-07-17
    • 1970-01-01
    • 2019-08-22
    • 1970-01-01
    • 2016-08-25
    • 2019-05-03
    • 2014-12-04
    • 1970-01-01
    相关资源
    最近更新 更多