How to use ipp(Internet Printing Protocol) with HTTP to print file in android?

You need to make an HTTP PUT request with some special features, you must:

  • use the port 631 instead of 80 (unless it's explicitly specified of course).
  • rewrite the url in the header (i.e. ipp:// => http://).
  • protocol ID is IPP/1.1.
  • you must authenticate via a challenge method.

OTOH, the request/response format used in the body is binary, so you should really really read the RFC. Besides that, it's quite simple, all you need is job and printer URIs, and then you just send properly encoded data.