Apache 当用户使用CURL时,如何返回特定信息?

Apache 当用户使用CURL时,如何返回特定信息?,apache,curl,Apache,Curl,当用户在我的一个网页上使用cURL时(即,我不想让cURL下载所有代码),我试图找出如何返回特定的信息。我在ifconfig.me上看到了一个这样的工作示例,当您curl ifconfig.me时,它只返回您的IP地址。这是通过Apache和重定向cURL用户代理完成的,还是通过PHP/HTML实现的 已解决: 感谢@Dancrumb为我指明了正确的方向。我能够使用apachemod_rewrite将curl用户代理重定向到一个定制页面,其中包含我希望curl获取的特定信息 RewriteEng

当用户在我的一个网页上使用cURL时(即,我不想让cURL下载所有代码),我试图找出如何返回特定的信息。我在ifconfig.me上看到了一个这样的工作示例,当您curl ifconfig.me时,它只返回您的IP地址。这是通过Apache和重定向cURL用户代理完成的,还是通过PHP/HTML实现的

已解决: 感谢@Dancrumb为我指明了正确的方向。我能够使用apachemod_rewrite将curl用户代理重定向到一个定制页面,其中包含我希望curl获取的特定信息

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

ifconfig.me很可能使用标头中的用户代理字符串来确定这不是浏览器请求

如果您执行:

curl ifconfig.me/ua
你得到

curl/7.27.0
(或其他版本字符串)


因此,如果您检查HTTP请求中的
用户代理
头,您可以看到该请求是Curl请求、浏览器请求还是其他UA。

您的Curl输出到底是什么?为什么不希望Curl下载您的代码?您对使用LWP::UserAgent的人满意吗?wget呢?桌面浏览器呢?当你将curl指向你的服务器时会发生什么?值得注意的是,curl可以发送一个用户代理(CURLOPT_USERAGENT),因此,尽管这是问题所要求的,但可以绕过它。我感觉他们在做类似的事情。所以我需要使用Apache来检测/重定向curl用户代理到只包含我想要返回的特定数据的自定义页面?@piddl0r耶。。。依赖UA字符串并不是绝对正确的,但这是一种很好的定制方式content@jacobt777您可以使用Apache重定向,也可以在PHP@piddl0r这一点很好,但我试图实现的是,人们会选择将用户代理保持为curl,而不是修改。谢谢你的意见。