我试图找出当用户在我的某个网页上使用cURL时如何返回特定信息(即我不希望curl下载所有代码)。我在ifconfig.me上看过一个这样的工作示例,当你卷曲ifconfig.me时它只返回你的IP地址。这是用Apache完成并重定向cURL用户代理还是通过PHP / HTML以某种方式完成的?
解决: 感谢@Dancrumb指出我正确的方向。我能够使用Apache mod_rewrite将curl用户代理重定向到一个自定义页面,其中包含我想要卷曲的特定信息。
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^curl/*
RewriteRule ^/index\.php$ /ip.php [L]
答案 0 :(得分:1)
ifconfig.me很可能使用标头中的用户代理字符串来确定这不是浏览器请求。
如果您执行:
curl ifconfig.me/ua
你得到了
curl/7.27.0
(或其他一些版本字符串)。
因此,如果您检查HTTP请求中的User-Agent
标头,您可以查看请求是否是Curl请求,浏览器请求或其他UA。