飞溅问题(d-bus、QSslSocket、libpng)
Posted
技术标签:
【中文标题】飞溅问题(d-bus、QSslSocket、libpng)【英文标题】:Splash issues (d-bus, QSslSocket, libpng) 【发布时间】:2018-06-26 23:30:32 【问题描述】:我正在尝试通过 scrapinghub/splash
Docker 映像使用 Splash,并在第一个请求之后发出一些警报(这是到 /robots.txt
端点,因为我正在为 scrapy
库使用 scrapy-splash
插件(使用 Python 3.6)。
[-] "172.17.0.1" - - [18/Jan/2018:00:05:12 +0000] "GET /robots.txt HTTP/1.1" 404 153 "-" "Scrapy/1.5.0 (+https://scrapy.org)"
libpng warning: iCCP: known incorrect sRGB profile
libpng warning: iCCP: known incorrect sRGB profile
process 1: D-Bus library appears to be incorrectly set up; failed to read machine uuid: UUID file '/etc/machine-id' should contain a hex string of length 32, not length 0, with no other text
See the manual page for dbus-uuidgen to correct this issue.
qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_method
最可悲的是它没有渲染this page。还需要提一下,有时它会渲染这个页面,并且它包含重定向以防 JS 可用。
如何让它发挥作用?
更新
当使用scrapinghub/splash:3.0
时,这些消息仍然存在,但渲染有效。
那么我应该将其报告为scrapinghub/splash
图像中的错误还是这些错误可能是由我的环境引起的?
更新
出于某种原因,即使是 3.0
和 master
(docker 图像标签)也不会从现在开始渲染。因此,对于每个带有latest
或master
或3.0
标签的图像,在询问(索引端点上的表单)渲染http://floodlist.com/news
页面后,它只显示一个带有You are being redirected...
标题的页面。
我发现this issue 所以d-bus
问题可能是无害的。
【问题讨论】:
【参考方案1】:流程 1:D-Bus 库似乎设置不正确;无法读取机器 uuid:UUID 文件“/etc/machine-id”应包含长度为 32 的十六进制字符串,而不是长度 0,没有其他文本 请参阅 dbus-uuidgen 的手册页以更正此问题。
这些似乎是关于如何解决 D-Bus 问题的相当简洁的说明。
我不知道其他警告,也不知道它们是否相关。
【讨论】:
这些错误消息出现在 docker 容器的标准输出中。那么 d-bus 的问题是在容器内吗? 这很可能。【参考方案2】:这些警告/错误似乎是无害的(参见#491 on Splash 和#122 on scrapy-splash)
通过将wait
值增加到 1 秒,解决了渲染问题。更多关于渲染问题的信息here。
【讨论】:
以上是关于飞溅问题(d-bus、QSslSocket、libpng)的主要内容,如果未能解决你的问题,请参考以下文章
Qt:QSslSocket::bytesWritten() 信号发出过于频繁
将现有的 QTcpSocket 变形为 QSslSocket
QSslSocket 等待数据时超时(但 QTcpSocket 不会)