User's Guide
Reference Manual
Release Notes
PDF
Top

inets
User's Guide
Version 6.1

Expand All
Contract All

Chapters

- Introduction
  - Top of chapter
  - Purpose
  - Prerequisites
- Inets
  - Top of chapter
  - Service Concept
- FTP Client
  - Top of chapter
  - Getting Started
- HTTP Client
  - Top of chapter
  - Configuration
  - Getting Started
- HTTP server
  - Top of chapter
  - Configuration
  - Getting Started
  - Htaccess - User Configurable Authentication
  - Dynamic Web Pages
  - Logging
  - Erlang Web Server API
  - Inets Web Server Modules

# 3 FTP Client

### 3.1 Getting Started

FTP clients are considered to be rather temporary. Thus, they are only started and stopped during runtime and cannot be started at application startup. The FTP client API is designed to allow some functions to return intermediate results. This implies that only the process that started the FTP client can access it with preserved sane semantics. If the process that started the FTP session dies, the FTP client process terminates.

The client supports IPv6 as long as the underlying mechanisms also do so.

The following is a simple example of an FTP session, where the user guest with password password logs on to the remote host erlang.org:

          1> inets:start().
          ok
          2> {ok, Pid} = inets:start(ftpc, [{host, "erlang.org"}]).
          {ok,<0.22.0>}
          3> ftp:user(Pid, "guest", "password").
          ok
          4> ftp:pwd(Pid).
          {ok, "/home/guest"}
          5> ftp:cd(Pid, "appl/examples").
          ok
          6> ftp:lpwd(Pid).
          {ok, "/home/fred"}.
          7> ftp:lcd(Pid, "/home/eproj/examples").
          ok
          8> ftp:recv(Pid, "appl.erl").
          ok
          9> inets:stop(ftpc, Pid).
          ok

The file appl.erl is transferred from the remote to the local host. When the session is opened, the current directory at the remote host is /home/guest, and /home/fred at the local host. Before transferring the file, the current local directory is changed to /home/eproj/examples, and the remote directory is set to /home/guest/appl/examples.