我有一个 Comtrend ADSL 调制解调器/路由器,它与 IPP 共享一个 USB 打印机。
Windows XP 可以正确连接,但 Windows 7 则不能(搜索返回的许多令人沮丧的讨论帖证实了这一点)
Wireshark 显示,当要求 Windows 7 连接打印机时,它会发送:
POST /printers/hp HTTP/1.1
Cache-Control: no-cache
Connection: Close
Pragma: no-cache
Content-Type: application/soap+xml
User-Agent: WSDAPI
Content-Length: 520
Host: 192.168.1.1:631
接下来是 XML 探测,并且该特定路由器只是关闭连接作为响应。
但是 Windows XP 会发送:
POST /printers/hp HTTP/1.1
Content-Type: application/ipp
User-Agent: Internet Print Provider
Host: 192.168.1.1:631
Content-Length: 125
Connection: Keep-Alive
Cache-Control: no-cache
然后进行查询(我不熟悉 IPP 的内部结构)
调制解调器响应:
HTTP/1.1 200 OK
然后得到一个满足 XP 的响应。
是否可以让 Windows 7 使用 IPP 而不是 soap+xml ?
我发现有关此问题的所有讨论主题都让人们陷入困境,通过打印机安装向导不断尝试,但问题似乎出在协议语言上。
答案1
只需在这里发布更新,以便其他人可以在谷歌上找到这个问题。
Windows 10 1807 中也存在类似的问题,即 IPP 将不会被使用,并且注册表更改似乎也不起作用。
问题:您想使用 http 创建 IPP 打印机,但定义失败,代码为 1793,尽管已安装 Internet 打印客户端,并且未设置阻止 Internet 打印的 GPO。
确认方式:如果您拉取数据包跟踪,您会发现用户代理不是 Internet 打印客户端,而是 WSDAPI
缓存控制:无缓存
连接:保持连接
指令:无缓存
内容类型:application/soap+xml
用户代理:WSDAPI
内容长度:520
主机:MyIPPHost:631
xml 版本="1.0" 编码="utf-8"?>
urn:模式-xmlsoap-org:ws:2005:04:discovery
http://schemas.xmlsoap.org/ws/2005/04/discovery/Probe
urn:uuid:9332e7fe-3c0c-4d26-849d-e82b6a438840
答案2
为了使 Windows 7 能够使用 IPP,必须先安装它。打开并从窗口左侧appwiz.cpl
选择。您感兴趣的功能是-> 。Turn Windows features on or off
Print and Document Services
Internet Printing Client
如上所述,Windows 7 Starter Edition 不支持 IPP这里。
请注意,必须重新启动 Spooler 服务才能使此功能生效,您可以通过以下方式手动重新启动它services.msc
(按照这文章)或者简单地重新启动计算机。
Control Panel
重新启动后,您可以使用-> Devices and Printers
-> Add printer
-> Add a network, wireless or Bluetooth printer
-> The printer I want isn't listed
-->添加打印机http://192.168.1.1:631/printers/hp
。
答案3
也许您已经找到了答案...无论如何,请看这里:
简而言之,答案归结为: HKEY_CURRENT_USER\Printers\Settings
创建一个名为的值PreferredConnection
并将其设置为 0。
这将(或应该)导致 Windows 始终使用标准 IPP 与您的 CUPS 服务器通信,而不是 M$ RPC IPP。