在PHP中使用cURL代理进行DNSBL查找

时间:2011-06-29 11:59:51

标签: php curl dnsbl

我使用以下php代码进行dnsbl查找。我想要一种方法来做同样的事情,但使用代理服务器。有没有办法用cURL来实现呢?

if (dns_check_record('91.190.54.65.score.senderscore.com', 'A'))
   return gethostbyname('91.190.54.65.score.senderscore.com');
else
   return false;

1 个答案:

答案 0 :(得分:1)

PHP中的CURL支持非常糟糕。基于我所看到的,它看起来好像很久没有更新了。 PHP CURL模块缺少许多功能,不幸的是DNS解析就是其中之一。

如果您尝试从PHP代理DNS查询,我只能通过几种方式直接从PHP中做到这一点。一种是每次要切换dns服务器时重写/etc/resolv.conf文件。另一种是执行nslookup或dig,然后解析结果。

如果由于某种原因必须使用CURL和PHP,可以修补libcurl源以支持CURLOPT_RESOLVE和CURLOPT_DNS_SERVERS。制作该补丁非常简单,它可能会受到社区的欢迎。我不得不在过去修补这些内容,下载和编译扩展程序所需的时间比实际修补代码要长。