我必须通过openssl向https网站提出一些请求。在浏览器中没有任何问题,这是一个没有任何cookie的简单GET请求,我通过提琴手观看。我的问题是我必须通过openssl发出这个请求,它等待的时间太长,然后我得到一个空的响应。
看起来像:
(cat <REQUEST>; sleep 5) | openssl s_client -quiet -connect <HOST>:<PORT> > <variable>
我有很多https网站,其中只有一个会导致这种情况。可能是什么问题?
答案 0 :(得分:1)
确保您发送浏览器执行的所有标头。特别是,Referer
和Accept
可能会在其中发挥作用(和Cookie
,但您说没有Cookie。)
除此之外,服务器的SSL证书可能无法由您的客户验证。浏览器通常更宽容,因此您的请求仍然会成功。如果您可以将请求转换为wget
命令(即wget https://host:port/URL
),如果证书有问题,则会报告“无法验证&lt; host&gt;的证书”。如果您使用wget --no-check-certificate https://host:port/URL
尝试相同的请求并且成功,则您将知道证书是问题。