System::Net Namespace Reference

Namespaces

 Cache
 
 Details
 
 Http
 
 NetworkInformation
 
 Security
 
 Sockets
 

Classes

class  Cookie
 
class  CookieCollection
 
class  CookieComparer
 
class  CookieContainer
 
class  CookieParser
 
class  CredentialCache
 
class  Details_CookieException
 
class  Details_WebException
 
class  Dns
 Provides methods to work with DNS. More...
 
class  DnsEndPoint
 
class  EndPoint
 
class  FileWebRequest
 
class  FileWebResponse
 
class  FtpWebRequest
 
class  FtpWebResponse
 
class  HeaderVariantInfo
 
class  HttpKnownHeaderNames
 Contains the string values of the known header names. More...
 
class  HttpRequestHeaderExtensions
 Contains utility methods to work with the HttpRequestHeader enumeration values. More...
 
class  HttpResponseHeaderExtensions
 Contains utility methods to work with the HttpResponseHeader enumeration values. More...
 
class  HttpStatusDescription
 Contains the utility methods to get the string representation of the HTTP status. More...
 
class  HttpVersion
 Contains versions of HTTP. More...
 
class  HttpWebRequest
 
class  HttpWebResponse
 
class  ICredentials
 
class  ICredentialsByHost
 
class  IPAddress
 
class  IPEndPoint
 
class  IPHostEntry
 
class  IWebProxy
 
class  IWebRequestCreate
 
class  NetworkCredential
 
class  PathList
 
class  ServicePoint
 
class  ServicePointManager
 
class  SocketAddress
 
class  UriScheme
 
class  WebClient
 
class  WebHeaderCollection
 
class  WebProxy
 
class  WebRequest
 
class  WebRequestMethods
 Represents the string constants of web requests. More...
 
class  WebResponse
 

Typedefs

using CookieException = System::ExceptionWrapper< Details_CookieException >
 
using BindIPEndPoint = System::MulticastDelegate< System::SharedPtr< IPEndPoint >(System::SharedPtr< ServicePoint >, System::SharedPtr< IPEndPoint >, int32_t)>
 
using WebException = System::ExceptionWrapper< Details_WebException >
 

Enumerations

enum  AuthenticationSchemes {
  AuthenticationSchemes::None = 0x00000000, AuthenticationSchemes::Digest = 0x00000001, AuthenticationSchemes::Negotiate = 0x00000002, AuthenticationSchemes::Ntlm = 0x00000004,
  AuthenticationSchemes::Basic = 0x00000008, AuthenticationSchemes::Anonymous = 0x00008000, AuthenticationSchemes::IntegratedWindowsAuthentication = static_cast<int32_t>(Negotiate | Ntlm)
}
 Enumerates the authentication schemes. More...
 
enum  CookieVariant {
  CookieVariant::Unknown, CookieVariant::Plain, CookieVariant::Rfc2109, CookieVariant::Rfc2965,
  CookieVariant::Default = static_cast<int32_t>(Rfc2109)
}
 Enumerates the cookie specifications. More...
 
enum  DecompressionMethods { DecompressionMethods::None = 0, DecompressionMethods::GZip = 1, DecompressionMethods::Deflate = 2 }
 Enumerates the compression-decompression algorithm. More...
 
enum  HttpRequestHeader {
  HttpRequestHeader::CacheControl = 0, HttpRequestHeader::Connection = 1, HttpRequestHeader::Date = 2, HttpRequestHeader::KeepAlive = 3,
  HttpRequestHeader::Pragma = 4, HttpRequestHeader::Trailer = 5, HttpRequestHeader::TransferEncoding = 6, HttpRequestHeader::Upgrade = 7,
  HttpRequestHeader::Via = 8, HttpRequestHeader::Warning = 9, HttpRequestHeader::Allow = 10, HttpRequestHeader::ContentLength = 11,
  HttpRequestHeader::ContentType = 12, HttpRequestHeader::ContentEncoding = 13, HttpRequestHeader::ContentLanguage = 14, HttpRequestHeader::ContentLocation = 15,
  HttpRequestHeader::ContentMd5 = 16, HttpRequestHeader::ContentRange = 17, HttpRequestHeader::Expires = 18, HttpRequestHeader::LastModified = 19,
  HttpRequestHeader::Accept = 20, HttpRequestHeader::AcceptCharset = 21, HttpRequestHeader::AcceptEncoding = 22, HttpRequestHeader::AcceptLanguage = 23,
  HttpRequestHeader::Authorization = 24, HttpRequestHeader::Cookie = 25, HttpRequestHeader::Expect = 26, HttpRequestHeader::From = 27,
  HttpRequestHeader::Host = 28, HttpRequestHeader::IfMatch = 29, HttpRequestHeader::IfModifiedSince = 30, HttpRequestHeader::IfNoneMatch = 31,
  HttpRequestHeader::IfRange = 32, HttpRequestHeader::IfUnmodifiedSince = 33, HttpRequestHeader::MaxForwards = 34, HttpRequestHeader::ProxyAuthorization = 35,
  HttpRequestHeader::Referer = 36, HttpRequestHeader::Range = 37, HttpRequestHeader::Te = 38, HttpRequestHeader::Translate = 39,
  HttpRequestHeader::UserAgent = 40
}
 Enumerates the request headers. More...
 
enum  HttpResponseHeader {
  HttpResponseHeader::CacheControl = 0, HttpResponseHeader::Connection = 1, HttpResponseHeader::Date = 2, HttpResponseHeader::KeepAlive = 3,
  HttpResponseHeader::Pragma = 4, HttpResponseHeader::Trailer = 5, HttpResponseHeader::TransferEncoding = 6, HttpResponseHeader::Upgrade = 7,
  HttpResponseHeader::Via = 8, HttpResponseHeader::Warning = 9, HttpResponseHeader::Allow = 10, HttpResponseHeader::ContentLength = 11,
  HttpResponseHeader::ContentType = 12, HttpResponseHeader::ContentEncoding = 13, HttpResponseHeader::ContentLanguage = 14, HttpResponseHeader::ContentLocation = 15,
  HttpResponseHeader::ContentMd5 = 16, HttpResponseHeader::ContentRange = 17, HttpResponseHeader::Expires = 18, HttpResponseHeader::LastModified = 19,
  HttpResponseHeader::AcceptRanges = 20, HttpResponseHeader::Age = 21, HttpResponseHeader::ETag = 22, HttpResponseHeader::Location = 23,
  HttpResponseHeader::ProxyAuthenticate = 24, HttpResponseHeader::RetryAfter = 25, HttpResponseHeader::Server = 26, HttpResponseHeader::SetCookie = 27,
  HttpResponseHeader::Vary = 28, HttpResponseHeader::WwwAuthenticate = 29
}
 Enumerates the http response headers. More...
 
enum  HttpStatusCode {
  HttpStatusCode::Continue = 100, HttpStatusCode::SwitchingProtocols = 101, HttpStatusCode::OK = 200, HttpStatusCode::Created = 201,
  HttpStatusCode::Accepted = 202, HttpStatusCode::NonAuthoritativeInformation = 203, HttpStatusCode::NoContent = 204, HttpStatusCode::ResetContent = 205,
  HttpStatusCode::PartialContent = 206, HttpStatusCode::MultipleChoices = 300, HttpStatusCode::Ambiguous = 300, HttpStatusCode::MovedPermanently = 301,
  HttpStatusCode::Moved = 301, HttpStatusCode::Found = 302, HttpStatusCode::Redirect = 302, HttpStatusCode::SeeOther = 303,
  HttpStatusCode::RedirectMethod = 303, HttpStatusCode::NotModified = 304, HttpStatusCode::UseProxy = 305, HttpStatusCode::Unused = 306,
  HttpStatusCode::TemporaryRedirect = 307, HttpStatusCode::RedirectKeepVerb = 307, HttpStatusCode::PermanentRedirect = 308, HttpStatusCode::BadRequest = 400,
  HttpStatusCode::Unauthorized = 401, HttpStatusCode::PaymentRequired = 402, HttpStatusCode::Forbidden = 403, HttpStatusCode::NotFound = 404,
  HttpStatusCode::MethodNotAllowed = 405, HttpStatusCode::NotAcceptable = 406, HttpStatusCode::ProxyAuthenticationRequired = 407, HttpStatusCode::RequestTimeout = 408,
  HttpStatusCode::Conflict = 409, HttpStatusCode::Gone = 410, HttpStatusCode::LengthRequired = 411, HttpStatusCode::PreconditionFailed = 412,
  HttpStatusCode::RequestEntityTooLarge = 413, HttpStatusCode::RequestUriTooLong = 414, HttpStatusCode::UnsupportedMediaType = 415, HttpStatusCode::RequestedRangeNotSatisfiable = 416,
  HttpStatusCode::ExpectationFailed = 417, HttpStatusCode::UpgradeRequired = 426, HttpStatusCode::InternalServerError = 500, HttpStatusCode::NotImplemented = 501,
  HttpStatusCode::BadGateway = 502, HttpStatusCode::ServiceUnavailable = 503, HttpStatusCode::GatewayTimeout = 504, HttpStatusCode::HttpVersionNotSupported = 505
}
 
enum  SecurityProtocolType {
  SecurityProtocolType::SystemDefault = 0, SecurityProtocolType::Ssl3 = 48, SecurityProtocolType::Tls = 192, SecurityProtocolType::Tls11 = 768,
  SecurityProtocolType::Tls12 = 3072
}
 Enumerates the security protocol types. More...
 
enum  TransportType {
  TransportType::Udp = 1, TransportType::Connectionless = Udp, TransportType::Tcp = 2, TransportType::ConnectionOriented = Tcp,
  TransportType::All = 3
}
 Defines the transport type allowed for the socket. More...
 
enum  WebExceptionStatus {
  WebExceptionStatus::Success = 0, WebExceptionStatus::NameResolutionFailure = 1, WebExceptionStatus::ConnectFailure = 2, WebExceptionStatus::ReceiveFailure = 3,
  WebExceptionStatus::SendFailure = 4, WebExceptionStatus::PipelineFailure = 5, WebExceptionStatus::RequestCanceled = 6, WebExceptionStatus::ProtocolError = 7,
  WebExceptionStatus::ConnectionClosed = 8, WebExceptionStatus::TrustFailure = 9, WebExceptionStatus::SecureChannelFailure = 10, WebExceptionStatus::ServerProtocolViolation = 11,
  WebExceptionStatus::KeepAliveFailure = 12, WebExceptionStatus::Pending = 13, WebExceptionStatus::Timeout = 14, WebExceptionStatus::ProxyNameResolutionFailure = 15,
  WebExceptionStatus::UnknownError = 16, WebExceptionStatus::MessageLengthLimitExceeded = 17, WebExceptionStatus::CacheEntryNotFound = 18, WebExceptionStatus::RequestProhibitedByCachePolicy = 19,
  WebExceptionStatus::RequestProhibitedByProxy = 20
}
 Enumerates the status codes of the WebException class. More...
 
enum  WebHeaderCollectionType : uint8_t { WebHeaderCollectionType::Unknown, WebHeaderCollectionType::WebRequest, WebHeaderCollectionType::WebResponse }
 Enumerates the types of the protocol headers collection. More...
 

Typedef Documentation

◆ BindIPEndPoint

◆ CookieException

◆ WebException

Enumeration Type Documentation

◆ AuthenticationSchemes

Enumerates the authentication schemes.

Enumerator
None 

No authentication is required.

Digest 

Digest access authentication.

Negotiate 

Negotiates with the client which authentication scheme will be used (NTML or Kerberos).

Ntlm 

NTLM authentication.

Basic 

Basic authentication.

Anonymous 

Anonymous authentication.

IntegratedWindowsAuthentication 

Windows authentication.

◆ CookieVariant

Enumerates the cookie specifications.

Enumerator
Unknown 

The unknown cookie specification.

Plain 

The plain cookie specification.

Rfc2109 

The 'RFC 2109' cookie specification.

Rfc2965 

The 'RFC 2965' cookie specification.

Default 

The default value equal to 'Rfc2109'.

◆ DecompressionMethods

Enumerates the compression-decompression algorithm.

Enumerator
None 

The compression-decompression algorithm is not used.

GZip 

The gZip compression-decompression algorithm.

Deflate 

The deflate compression-decompression algorithm.

◆ HttpRequestHeader

Enumerates the request headers.

Enumerator
CacheControl 

The 'Cache-Control' header.

Connection 

The 'Connection' header.

Date 

The 'Date' header.

KeepAlive 

The 'Keep-Alive' header.

Pragma 

The 'Pragma' header.

Trailer 

The 'Trailer' header.

TransferEncoding 

The 'Transfer-Encoding' header.

Upgrade 

The 'Upgrade' header.

Via 

The 'Via' header.

Warning 

The 'Warning' header.

Allow 

The 'Allow' header.

ContentLength 

The 'Content-Length' header.

ContentType 

The 'Content-Type' header.

ContentEncoding 

The 'Content-Encoding' header.

ContentLanguage 

The 'Content-Language' header.

ContentLocation 

The 'Content-Location' header.

ContentMd5 

The 'Content-MD5' header.

ContentRange 

The 'Content-Range' header.

Expires 

The 'Expires' header.

LastModified 

The 'Last-Modified' header.

Accept 

The 'Accept' header.

AcceptCharset 

The 'Accept-Charset' header.

AcceptEncoding 

The 'Accept-Encoding' header.

AcceptLanguage 

The 'Accept-Language' header.

Authorization 

The 'Authorization' header.

Cookie 

The 'Cookie' header.

Expect 

The 'Expect' header.

From 

The 'From' header.

Host 

The 'Host' header.

IfMatch 

The 'If-Match' header.

IfModifiedSince 

The 'If-Modified-Since' header.

IfNoneMatch 

The 'If-None-Match' header.

IfRange 

The 'If-Range' header.

IfUnmodifiedSince 

The 'If-Unmodified-Since' header.

MaxForwards 

The 'Max-Forwards' header.

ProxyAuthorization 

The 'Proxy-Authorization' header.

Referer 

The 'Referer' header.

Range 

The 'Range' header.

Te 

The 'TE' header.

Translate 

The 'Translate' header.

UserAgent 

The 'User-Agent' header.

◆ HttpResponseHeader

Enumerates the http response headers.

Enumerator
CacheControl 

The 'Cache-Control' header.

Connection 

The 'Connection' header.

Date 

The 'Date' header.

KeepAlive 

The 'Keep-Alive' header.

Pragma 

The 'Pragma' header.

Trailer 

The 'Trailer' header.

TransferEncoding 

The 'Transfer-Encoding' header.

Upgrade 

The 'Upgrade' header.

Via 

The 'Via' header.

Warning 

The 'Warning' header.

Allow 

The 'Allow' header.

ContentLength 

The 'Content-Length' header.

ContentType 

The 'Content-Type' header.

ContentEncoding 

The 'Content-Encoding' header.

ContentLanguage 

The 'Content-Language' header.

ContentLocation 

The 'Content-Location' header.

ContentMd5 

The 'Content-MD5' header.

ContentRange 

The 'Content-Range' header.

Expires 

The 'Expires' header.

LastModified 

The 'Last-Modified' header.

AcceptRanges 

The 'Accept-Ranges' header.

Age 

The 'Age' header.

ETag 

The 'ETag' header.

Location 

The 'Location' header.

ProxyAuthenticate 

The 'Proxy-Authenticate' header.

RetryAfter 

The 'Retry-After' header.

Server 

The 'Server' header.

SetCookie 

The 'Set-Cookie' header.

Vary 

The 'Vary' header.

WwwAuthenticate 

The 'WWW-Authenticate' header.

◆ HttpStatusCode

Enumerator
Continue 

The 'Continue' status code that equals to HTTP status 100.

SwitchingProtocols 

The 'Switching Protocol' status code that equals to HTTP status 101.

OK 

The 'OK' status code that equals to HTTP status 200.

Created 

The 'Created' status code that equals to HTTP status 201.

Accepted 

The 'Accepted' status code that equals to HTTP status 202.

NonAuthoritativeInformation 

The 'Non-Authoritative Information' status code that equals to HTTP status 203.

NoContent 

The 'No Content' status code that equals to HTTP status 204.

ResetContent 

The 'Reset Content' status code that equals to HTTP status 205.

PartialContent 

The 'Partial Content' status code that equals to HTTP status 206.

MultipleChoices 

The 'Multiple Choice' status code that equals to HTTP status 300.

Ambiguous 

The 'Ambiguous' status code that equals to HTTP status 300.

MovedPermanently 

The 'Moved Permanently' status code that equals to HTTP status 301.

Moved 

The 'Moved' status code that equals to HTTP status 301.

Found 

The 'Found' status code that equals to HTTP status 302.

Redirect 

The 'Redirect' status code that equals to HTTP status 302.

SeeOther 

The 'See Other' status code that equals to HTTP status 303.

RedirectMethod 

The 'Redirect' status code that equals to HTTP status 303.

NotModified 

The 'Not Modified' status code that equals to HTTP status 304.

UseProxy 

The 'Use Proxy' status code that equals to HTTP status 305.

Unused 

The 'Switch Proxy' status code that equals to HTTP status 306.

TemporaryRedirect 

The 'Temporary Redirect' status code that equals to HTTP status 307.

RedirectKeepVerb 

The 'Redirect Keep Verb' status code that equals to HTTP status 307.

PermanentRedirect 

The 'Permanent Redirect' status code that equals to HTTP status 308.

BadRequest 

The 'Bad Request' status code that equals to HTTP status 400.

Unauthorized 

The 'Unauthorized' status code that equals to HTTP status 401.

PaymentRequired 

The 'Payment Required' status code that equals to HTTP status 402.

Forbidden 

The 'Forbidden' status code that equals to HTTP status 403.

NotFound 

The 'Not Found' status code that equals to HTTP status 404.

MethodNotAllowed 

The 'Method Not Allowed' status code that equals to HTTP status 405.

NotAcceptable 

The 'Not Acceptable' status code that equals to HTTP status 406.

ProxyAuthenticationRequired 

The 'Proxy Authentication Required' status code that equals to HTTP status 407.

RequestTimeout 

The 'Request Timeout' status code that equals to HTTP status 408.

Conflict 

The 'Conflict' status code that equals to HTTP status 409.

Gone 

The 'Gone' status code that equals to HTTP status 410.

LengthRequired 

The 'Length Required' status code that equals to HTTP status 411.

PreconditionFailed 

The 'Precondition Failed' status code that equals to HTTP status 412.

RequestEntityTooLarge 

The 'Request Entity Too Large' status code that equals to HTTP status 413.

RequestUriTooLong 

The 'Request-URI Too Long' status code that equals to HTTP status 414.

UnsupportedMediaType 

The 'Unsupported Media Type' status code that equals to HTTP status 415.

RequestedRangeNotSatisfiable 

The 'Requested Range Not Satisfiable' status code that equals to HTTP status 416.

ExpectationFailed 

The 'Expectation Failed' status code that equals to HTTP status 417.

UpgradeRequired 

The 'Upgrade Required' status code that equals to HTTP status 426.

InternalServerError 

The 'Internal Server Error' status code that equals to HTTP status 500.

NotImplemented 

The 'Not Implemented' status code that equals to HTTP status 501.

BadGateway 

The 'Bad Gateway' status code that equals to HTTP status 502.

ServiceUnavailable 

The 'Service Unavailable' status code that equals to HTTP status 503.

GatewayTimeout 

The 'Gateway Timeout' status code that equals to HTTP status 504.

HttpVersionNotSupported 

The 'HTTP Version Not Supported' status code that equals to HTTP status 505.

◆ SecurityProtocolType

Enumerates the security protocol types.

Enumerator
SystemDefault 

The default system value must be used.

Ssl3 

The SSL 3.0 protocol.

Tls 

The TLS 1.0 protocol.

Tls11 

The TLS 1.1 protocol.

Tls12 

The TLS 1.2 protocol.

◆ TransportType

Defines the transport type allowed for the socket.

Enumerator
Udp 

The UDP transport type.

Connectionless 

The transport type is connectionless.

Tcp 

The TCP transport type.

ConnectionOriented 

The transport is connection oriented.

All 

All transport types.

◆ WebExceptionStatus

Enumerates the status codes of the WebException class.

Enumerator
Success 

No errors occurred.

NameResolutionFailure 

The name resolver service could not resolve the host name.

ConnectFailure 

The remote service point could not be contacted at the transport level.

ReceiveFailure 

A complete response is not received from the remote server.

SendFailure 

A complete request could not be sent to the remote server.

PipelineFailure 

The request was a pipelined request and the connection was closed before the response was received.

RequestCanceled 

The request was canceled or an unclassifiable error occurred.

ProtocolError 

The response received from the server was complete but indicated a protocol-level error.

ConnectionClosed 

The connection was prematurely closed.

TrustFailure 

A server certificate could not be validated.

SecureChannelFailure 

An error occurred while establishing a connection using SSL.

ServerProtocolViolation 

The server response was not a valid HTTP response.

KeepAliveFailure 

The connection for a request that specifies the 'Keep-Alive' header was closed unexpectedly.

Pending 

An internal asynchronous request is pending.

Timeout 

No response was received during the time-out period for a request.

ProxyNameResolutionFailure 

The name resolver service could not resolve the proxy host name.

UnknownError 

An exception of unknown type has occurred.

MessageLengthLimitExceeded 

A message that exceeded the specified limit was received.

CacheEntryNotFound 

The specified cache entry was not found.

RequestProhibitedByCachePolicy 

The request was not permitted by the cache policy.

RequestProhibitedByProxy 

This request was not permitted by the proxy.

◆ WebHeaderCollectionType

enum System::Net::WebHeaderCollectionType : uint8_t
strong

Enumerates the types of the protocol headers collection.

Enumerator
Unknown 

A collection contains an unknown type elements.

WebRequest 

A collection contains the headers of web requests.

WebResponse 

A collection contains the headers of web response.