繁体   English   中英

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

[英]DNSBL lookup using cURL proxy in PHP

我正在使用以下 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;

PHP 中的 CURL 支持非常糟糕。 根据我所看到的,它似乎很久没有更新了。 PHP CURL 模块缺少许多功能,不幸的是 DNS 分辨率就是其中之一。

如果您尝试代理来自 PHP 的 DNS 查询,那么我只能想到几种直接从 PHP 执行此操作的方法。 一种是每次切换dns服务器时都要重写/etc/resolv.conf文件。 另一种是执行nslookup或dig,然后解析结果。

如果由于某种原因您必须使用 CURL 和 PHP,您可以修补 libcurl 源以支持 CURLOPT_RESOLVE 和 CURLOPT_DNS_SERVERS。 制作该补丁相当简单,并且可能会受到社区的欢迎。 过去我不得不修补类似的东西,下载和编译扩展程序比实际修补代码花费的时间更长。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM