我使用的是Maps API,每次请求的费用非常高
那么,检测用户是机器人还是人类的最佳方法是什么?
答案 0 :(得分:1)
我会使用Javascript加载地图图片。 Web刮刀和机器人通常不会尝试解析或执行Javascript。这可确保您的API调用仅在浏览器访问该页面时进行。
您可以通过将API调用分解为通过AJAX调用的单独页面来实现此目的。
答案 1 :(得分:1)
使用javascript函数,例如initialize()
设置您的Google Maps API调用。
e.g。
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=set_to_true_or_false"></script>
<script type="text/javascript">
function initialize() {
var latlng = new google.maps.LatLng(-34.397, 150.644);
var myOptions = {
zoom: 8,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
(从api v3 reference复制)