IAB Spiders And Robots Java Client
This is a Java 7+ client library for the IAB/ABC International Spiders and Bots List (available separately).
The library is available from Maven Central, and is published under the Apache 2.0 License.
It uses Gradle as its build tool and contains a comprehensive set of JUnit tests.
Add into your project's
<dependency> <groupId>com.snowplowanalytics</groupId> <artifactId>iab-spiders-and-robots-client</artifactId> <version>0.1.0</version> </dependency>
A Simple Example
Assume we have a HTTP request from the IP address:
184.108.40.206 with a user agent string:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:50.0) Gecko/20100101 Firefox/50.0.
To perform a robot or spider check using this algorithm:
// A File object pointing to your ip_exclude_current_cidr.txt file File ipFile = new File("/path/to/ip_exclude_current_cidr.txt"); // File objects pointing to your include and exclude lists File excludeUaFile = new File("/path/to/exclude_current.txt"); File includeUaFile = new File("/path/to/include_current.txt"); // This creates the IabClient object, which should be reused across lookups. IabClient client = new IabClient(ipFile, excludeUaFile, includeUaFile); String useragent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:50.0) Gecko/20100101 Firefox/50.0"; InetAddress ipAddress = InetAddress.getByName("220.127.116.11"); IabResponse iabResponse = client.check(useragent, ipAddress);
For more complex examples and step by step description, please, refer the library Wiki: Usage Of The Library
host$ git clone https://github.com/snowplow/iab-spiders-and-robots-java-client.git host$ cd iab-spiders-and-robots-java-client host$ vagrant up && vagrant ssh guest$ cd /vagrant guest$ ./gradlew clean build guest$ ./gradlew test
Find out more
Copyright and License
IAB Spiders And Robots Java Client is copyright 2017 Snowplow Analytics Ltd.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this software except in compliance with the License.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.