擅长:python、mysql、java
<p>如果您想在下载之前获得as URL的内容类型,那么HTTP命令<code>HEAD</code>就是为了这个目的。如果您使用<code>HEAD</code>而不是<code>GET</code>,那么您将得到与<code>GET</code>相同的报头,但是没有正文(这意味着您和服务器的开销更小)。在</p>
<p>其中一个头应该是<code>Content-Type</code>,这将告诉您它是否是一个图像。在</p>
<p>如果您想更进一步,您可以从disposition头猜测文件名,如果猜不到,还可以猜测最终重定向URL的基名的扩展名,这是浏览器通常在服务器损坏的情况下显示图像的方式,但这很少需要。在</p>
<p>如果你因为某种原因根本不能进行任何网络请求,你所能做的最好的就是试探性地猜测。如果你只是从一个特定的服务器上抓取,比如维基百科,你可以得到一个URL列表,并尝试找到一个服务器使用的模式——例如,URL的某个部分中的<code>images</code>——这可能对许多图像有效,但可能不适用于所有图像,并且可能在下次他们进行重大服务升级时中断,因此您必须继续观察并定期改进你的启发式代码。在</p>