我正在使用这个脚本来检测php页面中的curl但是它没有工作......我总是得到#34; curl ua"
if ($usera = "curl")
echo "curl ua";
else
echo "no curl";
?>
答案 0 :(得分:2)
确切的curl用户代理字符串将根据版本而有所不同。例如这一个:
curl/7.15.1 (i386-pc-win32) libcurl/7.15.1 OpenSSL/0.9.8a zlib/1.2.3
所以你可以做的是,检查代理字符串中是否存在curl
或libcurl
。
if(preg_match("/curl|libcurl/", $usera)){
// do something ...
}
但如果curl
客户端更改了Agent String
,那么您将无法检测到它。例如,对于curl
以下请求,我将用户代理更改为Opera 9.0
curl -A "Opera 9.0" http://www.example.com/
答案 1 :(得分:0)
用户可以更改Useragent,但可以通过以下方式识别默认设置:
function is_curl() {
if (stristr($_SERVER["HTTP_USER_AGENT"], 'curl'))
return true;
}