curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, false); // 启用时会启用一个全局的DNS缓存,此项为线程安全的,并且默认启用
curl_setopt($ch, CURLOPT_DNS_CACHE_TIMEOUT, 2); // 设置在内存中保存DNS信息的时间,默认为120秒
相关知识点:
fopen/file_get_contents
每次请求远程URL中的数据都会重新做DNS查询,并不对DNS信息进行缓存。但是 curl 会自动对DNS信息进行缓存。所以CURL的请求性能好很多。- fopen/file_get_contents 在请求HTTP时,使用的是
http_fopen_wrapper
,不会keeplive。而 curl 默认可以。这样在多次请求多个链接时,curl效率会好一些。(设置header头应该可以)
链接:
https://stackoverflow.com/questions/1341644/curl-and-https-cannot-resolve-host
https://www.cnblogs.com/jking10/p/6595981.html
文章不错支持一下吧