# Poco::Net

# class FTPSStreamFactory

Library: NetSSL_OpenSSL
Package: FTPS
Header: Poco/Net/FTPSStreamFactory.h

## Description

An implementation of the URIStreamFactory interface that handles secure File Transfer Protocol (ftps) URIs according to RFC 4217, based on the FTPSClientSession class.

The URI's path may end with an optional type specification in the form (;type=<typecode>), where <typecode> is one of a, i or d. If type=a, the file identified by the path is transferred in ASCII (text) mode. If type=i, the file is transferred in Image (binary) mode. If type=d, a directory listing (in NLST format) is returned. This corresponds with the FTP URL format specified in RFC 1738.

If the URI does not contain a username and password, the username "anonymous" and the password "poco@localhost".

Note that ftps is a non-standard URI scheme.

## Inheritance

Direct Base Classes: FTPStreamFactory

All Base Classes: FTPStreamFactory, Poco::URIStreamFactory

## Member Summary

Member Functions: open, registerFactory, unregisterFactory

Inherited Functions: getAnonymousPassword, getPasswordProvider, getPathAndType, getUserInfo, open, registerFactory, setAnonymousPassword, setPasswordProvider, splitUserInfo, unregisterFactory

## Constructors

### FTPSStreamFactory

FTPSStreamFactory();

Creates the FTPSStreamFactory.

## Destructor

### ~FTPSStreamFactory

~FTPSStreamFactory();

Destroys the FTPSStreamFactory.

## Member Functions

### open

std::istream * open(
const Poco::URI & uri
);

Creates and opens a HTTP stream for the given URI. The URI must be a ftps://... URI.

Throws a NetException if anything goes wrong.

### registerFactory

static void registerFactory();

Registers the FTPSStreamFactory with the default URIStreamOpener instance.

### unregisterFactory

static void unregisterFactory();

Unregisters the FTPSStreamFactory with the default URIStreamOpener instance.