## Microsoft's WinInet Documentation

Complete documentation for the Microsoft Win32 Internet Functions can be found, in both HTML and zipped Word format, at this address:

http://www.microsoft.com/intdev/sdk/docs/wininet/

## Functions Table

This table reports the correspondence between the functions offered by WININET.DLL and their implementation in the Win32::Internet extension. Functions showing a "---" are not currently implemented. Functions enclosed in parens ( ) aren't implemented straightforwardly, but in a higher-level routine, eg. together with other functions.

WININET.DLL | Win32::Internet
InternetOpen | new Win32::Internet
InternetConnect | FTP / HTTP
InternetCloseHandle | Close
InternetQueryOption | QueryOption
InternetSetOption | SetOption
InternetSetOptionEx | ---
InternetSetStatusCallback | SetStatusCallback
InternetStatusCallback | GetStatusCallback
InternetConfirmZoneCrossing | ---
InternetTimeFromSystemTime | TimeConvert
InternetTimeToSystemTime | TimeConvert
InternetAttemptConnect | ---
InternetReadFile | ReadFile
InternetSetFilePointer | ---
InternetFindNextFile | (List)
InternetQueryDataAvailable | QueryDataAvailable
InternetGetLastResponseInfo | GetResponse
InternetWriteFile | ---
InternetCrackUrl | CrackURL
InternetCreateUrl | CreateURL
InternetCanonicalizeUrl | CanonicalizeURL
InternetCombineUrl | CombineURL
InternetOpenUrl | OpenURL
FtpFindFirstFile | (List)
FtpGetFile | Get
FtpPutFile | Put
FtpDeleteFile | Delete
FtpRenameFile | Rename
FtpOpenFile | ---
FtpCreateDirectory | Mkdir
FtpRemoveDirectory | Rmdir
FtpSetCurrentDirectory | Cd
FtpGetCurrentDirectory | Pwd
HttpOpenRequest | OpenRequest
HttpAddRequestHeaders | AddHeader
HttpSendRequest | SendRequest
HttpQueryInfo | QueryInfo
InternetErrorDlg | ---

Actually, I don't plan to add support for Gopher, Cookie and Cache functions. I will if there will be consistent requests to do so.

There are a number of higher-level functions in the Win32::Internet that simplify some usual procedures, calling more that one WININET API function. This table reports those functions and the relative WININET functions they use.

Win32::Internet | WININET.DLL
FetchURL | InternetOpenUrl InternetQueryDataAvailable InternetReadFile InternetCloseHandle
ReadEntireFile | InternetQueryDataAvailable InternetReadFile
Request | HttpOpenRequest HttpSendRequest HttpQueryInfo InternetQueryDataAvailable InternetReadFile InternetCloseHandle
List | FtpFindFirstFile InternetFindNextFile

## Constants

Those are the constants exported by the package in the main namespace (eg. you can use them in your scripts); for their meaning and proper use, refer to the Microsoft Win32 Internet Functions document.

        HTTP_ADDREQ_FLAG_ADD
        HTTP_ADDREQ_FLAG_REPLACE
        HTTP_QUERY_ALLOW
        HTTP_QUERY_CONTENT_DESCRIPTION
        HTTP_QUERY_CONTENT_ID
        HTTP_QUERY_CONTENT_LENGTH
        HTTP_QUERY_CONTENT_TRANSFER_ENCODING
        HTTP_QUERY_CONTENT_TYPE
        HTTP_QUERY_COST
        HTTP_QUERY_CUSTOM
        HTTP_QUERY_DATE
        HTTP_QUERY_DERIVED_FROM
        HTTP_QUERY_EXPIRES
        HTTP_QUERY_FLAG_REQUEST_HEADERS
        HTTP_QUERY_FLAG_SYSTEMTIME
        HTTP_QUERY_LANGUAGE
        HTTP_QUERY_LAST_MODIFIED
        HTTP_QUERY_MESSAGE_ID
        HTTP_QUERY_MIME_VERSION
        HTTP_QUERY_PRAGMA
        HTTP_QUERY_PUBLIC
        HTTP_QUERY_RAW_HEADERS
        HTTP_QUERY_RAW_HEADERS_CRLF
        HTTP_QUERY_REQUEST_METHOD
        HTTP_QUERY_SERVER
        HTTP_QUERY_STATUS_CODE
        HTTP_QUERY_STATUS_TEXT
        HTTP_QUERY_URI
        HTTP_QUERY_USER_AGENT
        HTTP_QUERY_VERSION
        HTTP_QUERY_WWW_LINK
        ICU_BROWSER_MODE
        ICU_DECODE
        ICU_ENCODE_SPACES_ONLY
        ICU_ESCAPE
        ICU_NO_ENCODE
        ICU_NO_META
        ICU_USERNAME
        INTERNET_CONNECT_FLAG_PASSIVE
        INTERNET_FLAG_ASYNC
        INTERNET_FLAG_HYPERLINK
        INTERNET_FLAG_KEEP_CONNECTION
        INTERNET_FLAG_MAKE_PERSISTENT
        INTERNET_FLAG_NO_AUTH
        INTERNET_FLAG_NO_AUTO_REDIRECT
        INTERNET_FLAG_NO_CACHE_WRITE
        INTERNET_FLAG_NO_COOKIES
        INTERNET_FLAG_READ_PREFETCH
        INTERNET_FLAG_RELOAD
        INTERNET_FLAG_RESYNCHRONIZE
        INTERNET_FLAG_TRANSFER_ASCII
        INTERNET_FLAG_TRANSFER_BINARY
        INTERNET_INVALID_PORT_NUMBER
        INTERNET_INVALID_STATUS_CALLBACK
        INTERNET_OPEN_TYPE_DIRECT
        INTERNET_OPEN_TYPE_PROXY
        INTERNET_OPEN_TYPE_PROXY_PRECONFIG
        INTERNET_OPTION_CONNECT_BACKOFF
        INTERNET_OPTION_CONNECT_RETRIES
        INTERNET_OPTION_CONNECT_TIMEOUT
        INTERNET_OPTION_CONTROL_SEND_TIMEOUT
        INTERNET_OPTION_CONTROL_RECEIVE_TIMEOUT
        INTERNET_OPTION_DATA_SEND_TIMEOUT
        INTERNET_OPTION_DATA_RECEIVE_TIMEOUT
        INTERNET_OPTION_HANDLE_TYPE
        INTERNET_OPTION_LISTEN_TIMEOUT
        INTERNET_OPTION_PASSWORD
        INTERNET_OPTION_READ_BUFFER_SIZE
        INTERNET_OPTION_USER_AGENT
        INTERNET_OPTION_USERNAME
        INTERNET_OPTION_VERSION
        INTERNET_OPTION_WRITE_BUFFER_SIZE
        INTERNET_SERVICE_FTP
        INTERNET_SERVICE_GOPHER
        INTERNET_SERVICE_HTTP
        INTERNET_STATUS_CLOSING_CONNECTION
        INTERNET_STATUS_CONNECTED_TO_SERVER
        INTERNET_STATUS_CONNECTING_TO_SERVER
        INTERNET_STATUS_CONNECTION_CLOSED
        INTERNET_STATUS_HANDLE_CLOSING
        INTERNET_STATUS_HANDLE_CREATED
        INTERNET_STATUS_NAME_RESOLVED
        INTERNET_STATUS_RECEIVING_RESPONSE
        INTERNET_STATUS_REDIRECT
        INTERNET_STATUS_REQUEST_COMPLETE
        INTERNET_STATUS_REQUEST_SENT
        INTERNET_STATUS_RESOLVING_NAME
        INTERNET_STATUS_RESPONSE_RECEIVED
        INTERNET_STATUS_SENDING_REQUEST

10 Jan 1997, Aldo Calpini <dada@divinf.it>