Printing 要将IPP消息发布到打印机以获取其属性等信息,需要发布什么内容?

Printing 要将IPP消息发布到打印机以获取其属性等信息,需要发布什么内容?,printing,tcp,protocols,printers,Printing,Tcp,Protocols,Printers,我正在使用stm32并试图通过TCP获取打印机属性,我正在阅读IPP文档并找到要发送的正确消息 客户端TCP套接字已创建,并连接到我的打印机地址的端口631 然后发送一条带有Ipp标题的消息,我收到除HP打印机以外的所有设备的响应,但根据Ipp文档,响应与预期不符 我用C语言发送 /ipp HTTP/1.1\r\nContent-Type: application/ipp\r\n User-Agent: Internet Printing Provider\r\n Hos

我正在使用
stm32
并试图通过TCP获取打印机属性,我正在阅读IPP文档并找到要发送的正确消息

客户端TCP套接字已创建,并连接到我的打印机地址的端口631 然后发送一条带有Ipp标题的消息,我收到除HP打印机以外的所有设备的响应,但根据Ipp文档,响应与预期不符

我用C语言发送

    /ipp HTTP/1.1\r\nContent-Type: application/ipp\r\n
    User-Agent: Internet Printing Provider\r\n
    Host: 10.34.18.44:631\r\nContent-Length: 117\r\n
    Connection: Keep-Alive\r\nCache-Control: no-cache\r\n\r\n
    \001\001\0\v\0\0\0\v
    \001G\0\022attributes-charset\0\005utf-8H\0
    \eattributes-natural-language\0\005en-usE\0
    \vprinter-uri\0\032http://10.34.18.44:631/ipp\003\020
在C#中,我发送

每次我从非HP打印机收到

    ReceiveCallback close : HTTP/1.1 200 OK
    MIME-Version: 1.0
    Server: JC-SHTTPD/1.17.23
    Connection: close
    Content-Type: application/ipp
    Content-Length: 33
    Accept-Ranges: none

    ????G?attributes-charset??

来自HP打印机的405错误,未知命令

这是C问题还是发送正确字符串的问题?你的C#代码是做什么的?我试过用C#因为我使用嵌入式设备,在C#中更容易测试,这不是C的问题(我可能对我的cp1252 eclipse格式有问题),但对我需要发送什么来与打印机通信存在误解。事实上,G返回的是其中一个参数的ascii值,看起来它只发送第一个属性,而且一些IPP激活的打印机似乎无法识别我的呼叫,我以400个错误请求结束。这是C问题还是发送正确字符串的问题?你的C#代码是做什么的?我试过用C#因为我使用嵌入式设备,在C#中更容易测试,这不是C的问题(我可能对我的cp1252 eclipse格式有问题),但对我需要发送什么来与打印机通信存在误解。事实上,G返回的是其中一个参数的ascii值,看起来它只发送了第一个属性,此外,一些IPP处于活动状态的打印机似乎无法识别我的呼叫,我以400错误请求结束
    ReceiveCallback close : HTTP/1.1 200 OK
    MIME-Version: 1.0
    Server: JC-SHTTPD/1.17.23
    Connection: close
    Content-Type: application/ipp
    Content-Length: 33
    Accept-Ranges: none

    ????G?attributes-charset??