# Uses of Interface
org.apache.nutch.protocol.Protocol

Packages that use Protocol
Package
Description
org.apache.nutch.protocol
Classes related to the `Protocol` interface, see also `org.apache.nutch.net.protocols`.
org.apache.nutch.protocol.file
Protocol plugin which supports retrieving local file resources.
org.apache.nutch.protocol.ftp
Protocol plugin which supports retrieving documents via the ftp protocol.
org.apache.nutch.protocol.htmlunit
Protocol plugin which supports retrieving documents via HTTP/HTTPS using Selenium and the HtmlUnitDriver web driver for the for the HtmlUnit headless browser.
org.apache.nutch.protocol.http
Protocol plugin which supports retrieving documents via the http protocol.
org.apache.nutch.protocol.http.api
Common API used by HTTP plugins (`http`, `httpclient`, etc.)
org.apache.nutch.protocol.httpclient
Protocol plugin which supports retrieving documents via the HTTP andHTTPS protocols, optionally with Basic, Digest and NTLM authentication schemes for web server as well as proxy server.
org.apache.nutch.protocol.interactiveselenium
Protocol plugin which supports retrieving documents using and interacting with Selenium.
org.apache.nutch.protocol.okhttp
Protocol plugin for HTTP/HTTPS based on okhttp, supports HTTP 1.1 and/or http/2.
org.apache.nutch.protocol.selenium
Protocol plugin which supports retrieving documents via Selenium.

- ## Uses of Protocol in org.apache.nutch.protocol

  Methods in org.apache.nutch.protocol that return Protocol
  Modifier and Type
  Method
  Description
  `Protocol`
  ProtocolFactory.`getProtocol(String urlString)`
  Returns the appropriate `Protocol` implementation for a url.
  `Protocol`
  ProtocolFactory.`getProtocol(URL url)`
  Returns the appropriate `Protocol` implementation for a url.
  `Protocol`
  ProtocolFactory.`getProtocolById(String id)`
  Methods in org.apache.nutch.protocol with parameters of type Protocol
  Modifier and Type
  Method
  Description
  `abstract crawlercommons.robots.BaseRobotRules`
  RobotRulesParser.`getRobotRulesSet(Protocol protocol, URL url, List<Content> robotsTxtContent)`
  Fetch robots.txt (or it's protocol-specific equivalent) which applies to the given URL, parse it and return the set of robot rules applicable for the configured agent name(s).
  `crawlercommons.robots.BaseRobotRules`
  RobotRulesParser.`getRobotRulesSet(Protocol protocol, Text url, List<Content> robotsTxtContent)`
  Fetch robots.txt (or it's protocol-specific equivalent) which applies to the given URL, parse it and return the set of robot rules applicable for the configured agent name(s).

- ## Uses of Protocol in org.apache.nutch.protocol.file

  Classes in org.apache.nutch.protocol.file that implement Protocol
  Modifier and Type
  Class
  Description
  `class`
  `File`
  This class is a protocol plugin used for file: scheme.

- ## Uses of Protocol in org.apache.nutch.protocol.ftp

  Classes in org.apache.nutch.protocol.ftp that implement Protocol
  Modifier and Type
  Class
  Description
  `class`
  `Ftp`
  This class is a protocol plugin used for ftp: scheme.
  Methods in org.apache.nutch.protocol.ftp with parameters of type Protocol
  Modifier and Type
  Method
  Description
  `crawlercommons.robots.BaseRobotRules`
  FtpRobotRulesParser.`getRobotRulesSet(Protocol ftp, URL url, List<Content> robotsTxtContent)`
  The hosts for which the caching of robots rules is yet to be done, it sends a Ftp request to the host corresponding to the `URL` passed, gets robots file, parses the rules and caches the rules object to avoid re-work in future.

- ## Uses of Protocol in org.apache.nutch.protocol.htmlunit

  Classes in org.apache.nutch.protocol.htmlunit that implement Protocol
  Modifier and Type
  Class
  Description
  `class`
  `Http`

- ## Uses of Protocol in org.apache.nutch.protocol.http

  Classes in org.apache.nutch.protocol.http that implement Protocol
  Modifier and Type
  Class
  Description
  `class`
  `Http`

- ## Uses of Protocol in org.apache.nutch.protocol.http.api

  Classes in org.apache.nutch.protocol.http.api that implement Protocol
  Modifier and Type
  Class
  Description
  `class`
  `HttpBase`
  Methods in org.apache.nutch.protocol.http.api with parameters of type Protocol
  Modifier and Type
  Method
  Description
  `crawlercommons.robots.BaseRobotRules`
  HttpRobotRulesParser.`getRobotRulesSet(Protocol http, URL url, List<Content> robotsTxtContent)`
  Get the rules from robots.txt which applies for the given `url`.

- ## Uses of Protocol in org.apache.nutch.protocol.httpclient

  Classes in org.apache.nutch.protocol.httpclient that implement Protocol
  Modifier and Type
  Class
  Description
  `class`
  `Http`
  This class is a protocol plugin that configures an HTTP client for Basic, Digest and NTLM authentication schemes for web server as well as proxy server.

- ## Uses of Protocol in org.apache.nutch.protocol.interactiveselenium

  Classes in org.apache.nutch.protocol.interactiveselenium that implement Protocol
  Modifier and Type
  Class
  Description
  `class`
  `Http`

- ## Uses of Protocol in org.apache.nutch.protocol.okhttp

  Classes in org.apache.nutch.protocol.okhttp that implement Protocol
  Modifier and Type
  Class
  Description
  `class`
  `OkHttp`

- ## Uses of Protocol in org.apache.nutch.protocol.selenium

  Classes in org.apache.nutch.protocol.selenium that implement Protocol
  Modifier and Type
  Class
  Description
  `class`
  `Http`