Question

I am using the following php code for dnsbl lookup. I want a way to do the same thing but using a proxy server. Is there any way to achieve that using 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;
Was it helpful?

Solution

CURL support in PHP is pretty bad. Based on what I've seen it looks like it hasn't been updated in a long time. There are many features missing from the PHP CURL module and unfortunately DNS resolution is one of them.

If you're trying to proxy DNS queries from PHP there is only a couple ways I can think of to do that directly from PHP. One is to rewrite the /etc/resolv.conf file every time you want to switch dns servers. The other is to execute nslookup or dig and then parse the results.

If you have to use CURL and PHP for some reason you can patch the libcurl source to support CURLOPT_RESOLVE and CURLOPT_DNS_SERVERS. It's fairly trivial to make that patch and it would probably be welcomed by the community. I've had to patch things like that in the past and it took longer to download and compile the extension than it did to actually patch the code.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top