1

dnsbl ルックアップに次の php コードを使用しています。プロキシサーバーを使用して同じことを行う方法が必要です。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;
4

1 に答える 1

1

PHP での CURL サポートはかなり悪いです。私が見た限りでは、長い間更新されていないようです。PHP CURL モジュールには多くの機能が欠けていますが、残念ながら DNS 解決はその 1 つです。

PHP から DNS クエリをプロキシしようとしている場合、PHP から直接それを行う方法はいくつか考えられます。1 つは、DNS サーバーを切り替えるたびに /etc/resolv.conf ファイルを書き換えることです。もう 1 つは、nslookup または dig を実行し、結果を解析することです。

何らかの理由で CURL と PHP を使用する必要がある場合は、CURLOPT_RESOLVE と CURLOPT_DNS_SERVERS をサポートするように libcurl ソースにパッチを適用できます。そのパッチを作成するのはかなり簡単で、おそらくコミュニティに歓迎されるでしょう。過去にそのようなものにパッチを当てる必要がありましたが、実際にコードにパッチを当てるよりも、拡張機能をダウンロードしてコンパイルするのに時間がかかりました。

于 2012-01-24T21:02:24.743 に答える