-1

ユーザーが Web ページの 1 つで cURL を使用するときに特定の情報を返す方法を見つけようとしています (つまり、curl ですべてのコードをダウンロードしたくありません)。ifconfig.me でこれの実際の例を見たことがあります。ifconfig.me をカールすると、IP アドレスのみが返されます。これはApacheで行われ、cURLユーザーエージェントをリダイレクトしていますか、それともPHP/HTMLを介して何らかの方法で達成されていますか?

解決済み: 正しい方向に向けてくれた @Dancrumb に感謝します。Apache mod_rewrite を使用して、curl にプルさせたい特定の情報を含むカスタム ページに curl ユーザー エージェントをリダイレクトすることができました。

RewriteEngine  on
RewriteCond %{HTTP_USER_AGENT}  ^curl/*
RewriteRule ^/index\.php$ /ip.php [L]
4

1 に答える 1

1

ifconfig.meは、ほとんどの場合、ヘッダーでユーザーエージェント文字列を使用して、これがブラウザー要求ではないことを認識します。

実行する場合:

curl ifconfig.me/ua

あなたが得る

curl/7.27.0

(または他のバージョンの文字列)。

したがって、User-AgentHTTPリクエストのヘッダーを確認すると、リクエストがCurlリクエスト、ブラウザリクエスト、またはその他のUAであるかどうかを確認できます。

于 2012-12-18T16:26:23.057 に答える