CInternetSession
Sınıf
Tek veya birkaç eşzamanlı İnternet oturumu oluşturup başlatır ve gerekirse bir ara sunucuyla bağlantınızı açıklar.
Sözdizimi
class CInternetSession : public CObject
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CInternetSession::CInternetSession |
Bir CInternetSession nesne oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CInternetSession::Close |
İnternet oturumu sonlandırıldığında İnternet bağlantısını kapatır. |
CInternetSession::EnableStatusCallback |
Durum geri çağırma yordamı oluşturur. |
CInternetSession::GetContext |
İnternet oturumu sonlandırıldığında İnternet bağlantısını kapatır. |
CInternetSession::GetCookie |
Belirtilen URL ve tüm üst URL'leri için tanımlama bilgileri döndürür. |
CInternetSession::GetCookieLength |
Arabellekte depolanan tanımlama bilgisinin uzunluğunu belirten değişkeni alır. |
CInternetSession::GetFtpConnection |
Bir sunucuyla FTP oturumu açar. Kullanıcı üzerinde günlüğe kaydeder. |
CInternetSession::GetGopherConnection |
Bağlantı açmaya çalışan bir uygulama için gopher sunucusunu açar. |
CInternetSession::GetHttpConnection |
Bağlantı açmaya çalışan bir uygulamanın HTTP sunucusunu açar. |
CInternetSession::OnStatusCallback |
Durum geri çağırma etkinleştirildiğinde işlemin durumunu güncelleştirir. |
CInternetSession::OpenURL |
Bir URL'yi ayrıştırıp açar. |
CInternetSession::SetCookie |
Belirtilen URL için bir tanımlama bilgisi ayarlar. |
CInternetSession::SetOption |
İnternet oturumu seçeneklerini ayarlar. |
Ortak İşleçler
Veri Akışı Adı | Açıklama |
---|---|
CInternetSession::operator HINTERNET |
Geçerli İnternet oturumunun tanıtıcısı. |
Açıklamalar
İnternet bağlantınızın bir uygulama süresi boyunca korunması gerekiyorsa sınıfının bir CInternetSession
üyesini CWinApp
oluşturabilirsiniz.
Bir İnternet oturumu oluşturduktan sonra öğesini çağırabilirsiniz OpenURL
. CInternetSession
ardından genel işlevini AfxParseURL
çağırarak URL'yi ayrıştırıyor. Protokol türünden bağımsız olarak URL'yi CInternetSession
yorumlar ve sizin için yönetir. "file://" URL kaynağıyla tanımlanan yerel dosyalara yönelik istekleri işleyebilir. OpenURL
geçirdiğiniz ad yerel bir dosyaysa nesnenin CStdioFile
işaretçisini döndürür.
kullanarak OpenURL
bir İnternet sunucusunda URL açarsanız, siteden bilgileri okuyabilirsiniz. Sunucuda bulunan dosyalarda hizmete özgü (örneğin HTTP, FTP veya gopher) eylemler gerçekleştirmek istiyorsanız, bu sunucuyla uygun bağlantıyı kurmanız gerekir. Belirli bir tür bağlantıyı doğrudan belirli bir hizmete açmak için aşağıdaki üye işlevlerinden birini kullanın:
GetGopherConnection
bir gopher hizmetine bağlantı açmak için.GetHttpConnection
bir HTTP hizmetine bağlantı açmak için.GetFtpConnection
bir FTP hizmetine bağlantı açmak için.
SetOption
oturumunuzun zaman aşımı değerleri, yeniden deneme sayısı vb. gibi sorgu seçeneklerini ayarlamanıza olanak tanır.
CInternetSession
üye işlevleri SetCookie
, GetCookie
ve sunucuların ve GetCookieLength
betiklerin istemci iş istasyonu hakkındaki durum bilgilerini koruduğu bir Win32 tanımlama bilgisi veritabanını yönetme araçlarını sağlar.
Temel İnternet programlama görevleri hakkında daha fazla bilgi için İnternet İlk Adımları: makalesine bakın. WinInet
MFC WinInet
sınıflarını kullanma hakkında genel bilgi için ile WinInet
İnternet Programlama makalesine bakın.
Not
CInternetSession
desteklenmeyen hizmet türleri için bir AfxThrowNotSupportedException
oluşturur. Şu anda yalnızca aşağıdaki hizmet türleri desteklenmektedir: FTP, HTTP, gopher ve file.
Devralma Hiyerarşisi
CObject
CInternetSession
Gereksinimler
Üstbilgi: afxinet.h
CInternetSession::CInternetSession
Bir nesne oluşturulduğunda bu üye işlevi çağrılır CInternetSession
.
CInternetSession(
LPCTSTR pstrAgent = NULL,
DWORD_PTR dwContext = 1,
DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
LPCTSTR pstrProxyName = NULL,
LPCTSTR pstrProxyBypass = NULL,
DWORD dwFlags = 0);
Parametreler
pstrAgent
İnternet işlevlerini çağıran uygulamanın veya varlığın adını tanımlayan bir dize işaretçisi (örneğin, "Microsoft Internet Browser"). (varsayılan) ise pstrAgent
NULL
, çerçeve genel işlevini çağırır. Bu işlev AfxGetAppName
, bir uygulamanın adını içeren null olarak sonlandırılan bir dize döndürür. Bazı protokoller, uygulamanızı sunucuya tanımlamak için bu dizeyi kullanır.
dwContext
İşlemin bağlam tanımlayıcısı. dwContext
tarafından CInternetSession::OnStatusCallback
döndürülen işlemin durum bilgilerini tanımlar. Varsayılan değer 1 olarak ayarlanır; ancak, işlem için belirli bir bağlam kimliğini açıkça atayabilirsiniz. Nesnesi ve yaptığı tüm çalışmalar bu bağlam kimliğiyle ilişkilendirilecektir.
dwAccessType
Gerekli erişim türü. Aşağıdakiler, tam olarak biri sağlanabilir geçerli değerlerdir:
INTERNET_OPEN_TYPE_PRECONFIG
Kayıt defterinde önceden yapılandırılmış ayarları kullanarak bağlanın. Bu erişim türü varsayılan olarak ayarlanır. TIS ara sunucusu aracılığıyla bağlanmak için bu değere ayarlayındwAccessType
; ardından kayıt defterini uygun şekilde ayarlayın.INTERNET_OPEN_TYPE_DIRECT
Doğrudan İnternet'e bağlanın.INTERNET_OPEN_TYPE_PROXY
CERN ara sunucusu üzerinden bağlanın.
Farklı proxy türlerine bağlanma hakkında bilgi için bkz . Tipik FTP İstemci Uygulamasındaki Adımlar.
pstrProxyName
olarak INTERNET_OPEN_TYPE_PROXY
ayarlandıysa dwAccessType
tercih edilen CERN proxy'sinin adı. Varsayılan değer: NULL
.
pstrProxyBypass
İsteğe bağlı sunucu adresleri listesini içeren bir dize işaretçisi. Ara sunucu erişimi kullanılırken bu adresler atlanabilir. Bir NULL
değer sağlanırsa atlama listesi kayıt defterinden okunur. Bu parametre yalnızca olarak ayarlandıysa dwAccessType
INTERNET_OPEN_TYPE_PROXY
anlamlıdır.
dwFlags
Çeşitli önbelleğe alma seçeneklerini gösterir. Varsayılan değer 0 olarak ayarlanır. Olası değerler şunlardır:
INTERNET_FLAG_DONT_CACHE
Verileri yerel olarak veya ağ geçidi sunucularında önbelleğe alma.INTERNET_FLAG_OFFLINE
İndirme işlemleri yalnızca kalıcı önbellek aracılığıyla karşılar. Öğe önbellekte yoksa, uygun bir hata kodu döndürülür. Bu bayrak bit düzeyinde "veya" (|
) işleciyle birleştirilebilir.
Açıklamalar
CInternetSession
bir uygulama tarafından çağrılan ilk İnternet işlevidir. İç veri yapılarını başlatır ve uygulamadan gelecek çağrılar için hazırlanır.
Hiçbir İnternet bağlantısı açılamıyorsa, CInternetSession
bir AfxThrowInternetException
oluşturur.
Örnek
örneğine CFtpFileFind
bakın.
CInternetSession::Close
Uygulamanız nesnesini kullanmayı bitirdiğinde bu üye işlevini çağırın CInternetSession
.
virtual void Close();
Örnek
örneğine CFtpFileFind
bakın.
CInternetSession::EnableStatusCallback
Durum geri çağırmayı etkinleştirmek için bu üye işlevini çağır.
BOOL EnableStatusCallback(BOOL bEnable = TRUE);
Parametreler
bEnable
Geri çağırmanın etkin mi yoksa devre dışı mı olduğunu belirtir. Varsayılan değer: TRUE
.
Dönüş Değeri
Başarılı olursa sıfır olmayan; aksi takdirde 0. Çağrı başarısız olursa, oluşan CInternetException
nesneyi inceleyerek hatanın nedenini belirleyin.
Açıklamalar
Durum geri çağırmayı işlerken, uygulamanın durum çubuğunda işlemin ilerleme durumu (ad çözümleme, sunucuya bağlanma vb.) hakkında durum sağlayabilirsiniz. Uzun süreli bir işlem sırasında özellikle işlem durumunun görüntülenmesi tercih edilir.
Geri çağırmalar isteğin işlenmesi sırasında gerçekleştiğinden, uygulamanın ağa veri aktarım hızının düşürülmesini önlemek için geri çağırmada mümkün olduğunca az zaman harcaması gerekir. Örneğin, bir geri çağırmaya bir iletişim kutusu koymak, sunucunun isteği sonlandıracağı kadar uzun bir işlem olabilir.
Geri çağırma beklemede olduğu sürece durum geri çağırması kaldırılamaz.
Herhangi bir işlemi zaman uyumsuz olarak işlemek için kendi iş parçacığınızı oluşturmanız veya MFC olmadan WinInet işlevlerini kullanmanız gerekir.
CInternetSession::GetContext
Belirli bir uygulama oturumu için bağlam değerini almak için bu üye işlevini çağırın.
DWORD_PTR GetContext() const;
Dönüş Değeri
Uygulama tanımlı bağlam Tanımlayıcısı.
Açıklamalar
OnStatusCallback
tarafından döndürülen GetContext
bağlam kimliğini kullanarak belirli bir uygulamanın durumunu bildirir. Örneğin, bir kullanıcı durum bilgilerini döndürmeyi içeren bir İnternet isteğini etkinleştirdiğinde, durum geri çağırması söz konusu istekte durumu bildirmek için bağlam kimliğini kullanır. Kullanıcı her ikisi de durum bilgilerinin döndürülmesiyle ilgili iki ayrı İnternet isteğini etkinleştirirse, OnStatusCallback
ilgili istekleriyle ilgili durumu döndürmek için bağlam tanımlayıcılarını kullanır. Sonuç olarak, bağlam tanımlayıcısı tüm durum geri çağırma işlemleri için kullanılır ve oturum sona erene kadar oturumla ilişkilendirilir.
Zaman uyumsuz işlemler hakkında daha fazla bilgi için İnternet İlk Adımları: WinInet makalesine bakın.
CInternetSession::GetCookie
Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 işlevinin InternetGetCookie
davranışını uygular.
static BOOL GetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
LPTSTR pstrCookieData,
DWORD dwBufLen);
static BOOL GetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
CString& strCookieData);
Parametreler
pstrUrl
URL'yi içeren bir dize işaretçisi.
pstrCookieName
Belirtilen URL için alınacak tanımlama bilgisinin adını içeren bir dize işaretçisi.
pstrCookieData
İlk aşırı yüklemede, tanımlama bilgisi verilerini alan arabelleğin adresini içeren bir dize işaretçisi. Bu değer olabilir NULL
. İkinci aşırı yüklemede, tanımlama bilgisi verilerini almak için bir CString
nesneye başvuru.
dwBufLen
Arabelleğin boyutunu pstrCookieData
belirten değişken. İşlev başarılı olursa, arabellek arabelleğe kopyalanan pstrCookieData
veri miktarını alır. ise pstrCookieData
NULL
, bu parametre tüm tanımlama bilgisi verilerini kopyalamak için gereken arabellek boyutunu belirten bir değer alır.
Dönüş Değeri
Başarılı olursa veya FALSE
başka bir şekilde döndürürTRUE
. Çağrı başarısız olursa, hatanın nedenini belirlemek için Win32 işlevini GetLastError
çağırın. Aşağıdaki hata değerleri geçerlidir:
ERROR_NO_MORE_ITEMS
Belirtilen URL ve tüm üst bilgileri için tanımlama bilgisi yok.ERROR_INSUFFICIENT_BUFFER
geçirilendwBufLen
değer, tüm tanımlama bilgisi verilerini kopyalamak için yetersiz. içindedwBufLen
döndürülen değer, tüm verileri almak için gereken arabellek boyutudur.
Açıklamalar
İkinci aşırı yüklemede MFC, sağlanan CString
nesneye tanımlama bilgisi verilerini alır.
CInternetSession::GetCookieLength
Arabellekte depolanan tanımlama bilgisinin uzunluğunu almak için bu üye işlevini çağırın.
static DWORD GetCookieLength(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName);
Parametreler
pstrUrl
URL'yi içeren bir dize işaretçisi
pstrCookieName
Tanımlama bilgisinin adını içeren bir dize işaretçisi.
Dönüş Değeri
DWORD
Arabellekte depolanan tanımlama bilgisinin uzunluğunu gösteren değer. Tarafından belirtilen pstrCookieName
ada sahip bir tanımlama bilgisi yoksa sıfır.
Açıklamalar
Bu değer tarafından GetCookie
kullanılır.
CInternetSession::GetFtpConnection
FTP bağlantısı kurmak ve bir nesneye işaretçi almak için CFtpConnection
bu üye işlevini çağır.
CFtpConnection* GetFtpConnection(
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
BOOL bPassive = FALSE);
Parametreler
pstrServer
FTP sunucusu adını içeren bir dize işaretçisi.
pstrUserName
Oturum açmak için kullanıcının adını belirten null ile sonlandırılan bir dize işaretçisi. ise NULL
, varsayılan değer anonimdir.
pstrPassword
Oturum açmak için kullanılacak parolayı belirten null ile sonlandırılan dizeye yönelik bir işaretçi. hem pstrUserName
hem de pstrPassword
iseNULL
, varsayılan anonim parola kullanıcının e-posta adıdır. NULL
ise pstrPassword
(veya boş bir dizeyse) ancak pstrUserName
değilseNULL
, boş bir parola kullanılır. Aşağıdaki tabloda ve pstrPassword
için dört olası ayarın pstrUserName
davranışı açıklanmaktadır:
pstrUserName |
pstrPassword |
FTP sunucusuna gönderilen kullanıcı adı | FTP sunucusuna gönderilen parola |
---|---|---|---|
NULL veya " " |
NULL veya " " |
"anonymous" |
Kullanıcının e-posta adı |
NULL Dize Olmayan |
NULL veya " " |
pstrUserName |
" " |
NULL |
NULL Dize Olmayan |
HATA | HATA |
NULL Dize Olmayan |
NULL Dize Olmayan |
pstrUserName |
pstrPassword |
nPort
Sunucuda kullanılacak TCP/IP bağlantı noktasını tanımlayan bir sayı.
bPassive
Bu FTP oturumu için pasif veya etkin modu belirtir. olarak ayarlanırsa TRUE
, Win32 API'sini dwFlag
olarak INTERNET_FLAG_PASSIVE
ayarlar.
Dönüş Değeri
Nesne işaretçisi CFtpConnection
. Çağrı başarısız olursa, oluşan CInternetException
nesneyi inceleyerek hatanın nedenini belirleyin.
Açıklamalar
GetFtpConnection
bir FTP sunucusuna bağlanır ve bir CFTPConnection
nesneye bir işaretçi oluşturur ve döndürür. Sunucuda belirli bir işlem gerçekleştirmez. Örneğin, dosyaları okumak veya dosyalara yazmak istiyorsanız, bu işlemleri ayrı adımlar olarak gerçekleştirmeniz gerekir. Dosyaları arama, dosyaları açma ve CFtpFileFind
dosyaları okuma veya dosyalara yazma hakkında bilgi için sınıflara CFtpConnection
ve bakın. Yaygın FTP bağlantı görevlerini gerçekleştirme adımları için WinInet ile İnternet Programlama makalesine bakın.
Örnek
örneğine CFtpFileFind
bakın.
CInternetSession::GetGopherConnection
Yeni bir gopher bağlantısı kurmak ve bir nesneye işaretçi almak için CGopherConnection
bu üye işlevini çağır.
CGopherConnection* GetGopherConnection(
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);
Parametreler
pstrServer
Gopher sunucu adını içeren bir dize işaretçisi.
pstrUserName
Kullanıcı adını içeren bir dize işaretçisi.
pstrPassword
Erişim parolasını içeren bir dize işaretçisi.
nPort
Sunucuda kullanılacak TCP/IP bağlantı noktasını tanımlayan bir sayı.
Dönüş Değeri
Nesne işaretçisi CGopherConnection
. Çağrı başarısız olursa, oluşan CInternetException
nesneyi inceleyerek hatanın nedenini belirleyin.
Açıklamalar
GetGopherConnection
gopher sunucusuna bağlanır ve bir CGopherConnection
nesnenin işaretçisini oluşturur ve döndürür. Sunucuda belirli bir işlem gerçekleştirmez. Örneğin, verileri okumak veya yazmak istiyorsanız, bu işlemleri ayrı adımlar olarak gerçekleştirmeniz gerekir. Dosya arama, dosyaları açma ve CGopherFileFind
dosyaları okuma veya dosyalara yazma hakkında bilgi için , CGopherFile
ve sınıflarına CGopherConnection
bakın. FTP sitesine göz atma hakkında bilgi için bkz. üye işlevi OpenURL
. Yaygın gopher bağlantı görevlerini gerçekleştirme adımları için WinInet ile İnternet Programlama makalesine bakın.
CInternetSession::GetHttpConnection
HTTP bağlantısı kurmak ve bir nesneye işaretçi almak için CHttpConnection
bu üye işlevini çağır.
CHttpConnection* GetHttpConnection(
LPCTSTR pstrServer,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL);
CHttpConnection* GetHttpConnection(
LPCTSTR pstrServer,
DWORD dwFlags,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL);
Parametreler
pstrServer
HTTP sunucusu adını içeren bir dize işaretçisi.
nPort
Sunucuda kullanılacak TCP/IP bağlantı noktasını tanımlayan bir sayı.
pstrUserName
Kullanıcı adını içeren bir dize işaretçisi.
pstrPassword
Erişim parolasını içeren bir dize işaretçisi.
dwflags
Bayrakların herhangi bir INTERNET_FLAG_*
bileşimi. Değerlerin açıklaması için açıklamalar bölümündeki CHttpConnection::OpenRequest
tabloya dwFlags
bakın.
Dönüş Değeri
Nesne işaretçisi CHttpConnection
. Çağrı başarısız olursa, oluşan CInternetException
nesneyi inceleyerek hatanın nedenini belirleyin.
Açıklamalar
GetHttpConnection
bir HTTP sunucusuna bağlanır ve bir CHttpConnection
nesnenin işaretçisini oluşturur ve döndürür. Sunucuda belirli bir işlem gerçekleştirmez. Örneğin, bir HTTP üst bilgisini sorgulamak istiyorsanız, bu işlemi ayrı bir adım olarak gerçekleştirmeniz gerekir. Sınıflara CHttpConnection
bakın ve CHttpFile
HTTP sunucusuna bağlantı kullanarak gerçekleştirebileceğiniz işlemler hakkında bilgi için. HTTP sitesine göz atma hakkında bilgi için bkz. üye işlevi OpenURL
. Yaygın HTTP bağlantı görevlerini gerçekleştirme adımları için WinInet ile İnternet Programlama makalesine bakın.
CInternetSession::OnStatusCallback
Bu üye işlevi, durum geri çağırma etkinleştirildiğinde ve bir işlem beklemede olduğunda durumu güncelleştirmek için çerçeve tarafından çağrılır.
virtual void OnStatusCallback(
DWORD_PTR dwContext,
DWORD dwInternetStatus,
LPVOID lpvStatusInformation,
DWORD dwStatusInformationLength);
Parametreler
dwContext
Uygulama tarafından sağlanan bağlam değeri.
dwInternetStatus
Geri çağırmanın neden yapıldığını gösteren durum kodu. Olası değerler tablosu için açıklamalar bölümüne bakın.
lpvStatusInformation
Bu geri çağırmayla ilgili bilgileri içeren arabelleğe yönelik bir işaretçi.
dwStatusInformationLength
boyutu lpvStatusInformation
.
Açıklamalar
Durum geri çağırmadan yararlanmak için önce aramanız EnableStatusCallback
gerekir.
dwInternetStatus
parametresi, gerçekleştirilmekte olan işlemi gösterir ve içeriğinin lpvStatusInformation
ne olacağını belirler. dwStatusInformationLength
, içinde lpvStatusInformation
bulunan verilerin uzunluğunu gösterir. için dwInternetStatus
aşağıdaki durum değerleri aşağıdaki gibi tanımlanır:
Değer | Anlamı |
---|---|
INTERNET_STATUS_RESOLVING_NAME |
içinde yer alan adın IP adresi aranıyor lpvStatusInformation . |
INTERNET_STATUS_NAME_RESOLVED |
içinde bulunan lpvStatusInformation adın IP adresi başarıyla bulundu. |
INTERNET_STATUS_CONNECTING_TO_SERVER |
tarafından lpvStatusInformation işaret edilen yuva adresine (SOCKADDR ) bağlanılıyor. |
INTERNET_STATUS_CONNECTED_TO_SERVER |
tarafından lpvStatusInformation işaret edilen yuva adresine (SOCKADDR ) başarıyla bağlandı. |
INTERNET_STATUS_SENDING_REQUEST |
Sunucuya bilgi isteği gönderiliyor. lpvStatusInformation parametresidirNULL . |
INTERNET_STATUS_REQUEST_SENT |
Bilgi isteği sunucuya başarıyla gönderildi. lpvStatusInformation parametresidirNULL . |
INTERNET_STATUS_RECEIVING_RESPONSE |
Sunucunun bir isteği yanıtlaması bekleniyor. lpvStatusInformation parametresidirNULL . |
INTERNET_STATUS_RESPONSE_RECEIVED |
Sunucudan başarıyla bir yanıt alındı. lpvStatusInformation parametresidirNULL . |
INTERNET_STATUS_CLOSING_CONNECTION |
Sunucu bağlantısı kapatılıyor. lpvStatusInformation parametresidirNULL . |
INTERNET_STATUS_CONNECTION_CLOSED |
Sunucu bağlantısını başarıyla kapattı. lpvStatusInformation parametresidirNULL . |
INTERNET_STATUS_HANDLE_CREATED |
Win32 API işlevi InternetConnect tarafından yeni tanıtıcının oluşturulduğunu belirtmek için kullanılır. Bu, bağlantı çok uzun sürüyorsa uygulamanın başka bir iş parçacığından Win32 işlevini InternetCloseHandle çağırmasını sağlar. Bu işlevler hakkında daha fazla bilgi için bkz. Windows SDK. |
INTERNET_STATUS_HANDLE_CLOSING |
Bu tanıtıcı değeri başarıyla sonlandırıldı. |
Durum geri çağırma yordamı gerçekleştirilmeden önce bir eylem gerektirmek için bu üye işlevini geçersiz kılın.
Not
Durum geri çağırmaları için iş parçacığı durumu koruması gerekir. Paylaşılan bir kitaplıkta MFC kullanıyorsanız, geçersiz kılmanızın başına aşağıdaki satırı ekleyin:
AFX_MANAGE_STATE(AfxGetAppModuleState());
Zaman uyumsuz işlemler hakkında daha fazla bilgi için İnternet İlk Adımları: WinInet makalesine bakın.
CInternetSession::OpenURL
Belirtilen isteği HTTP sunucusuna göndermek ve istemcinin istekle birlikte gönderilecek ek RFC822, MIME veya HTTP üst bilgileri belirtmesine izin vermek için bu üye işlevini çağırın.
CStdioFile* OpenURL(
LPCTSTR pstrURL,
DWORD_PTR dwContext = 1,
DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII,
LPCTSTR pstrHeaders = NULL,
DWORD dwHeadersLength = 0);
Parametreler
pstrURL
Okumaya başlamak için URL'nin adına işaret eden bir işaretçi. Yalnızca , ftp:
, gopher:
veya http:
ile file:
başlayan URL'ler desteklenir. ise pstrURL
NULL
onaylar.
dwContext
Geri çağırmada döndürülen tanıtıcı ile geçirilen uygulama tanımlı bir değer.
dwFlags
Bu bağlantının nasıl işleneceğini açıklayan bayraklar. Geçerli bayraklar hakkında daha fazla bilgi için bkz. Açıklamalar. Geçerli bayraklar şunlardır:
INTERNET_FLAG_TRANSFER_ASCII
Varsayılan değerdir. Dosyayı ASCII metni olarak aktarın.INTERNET_FLAG_TRANSFER_BINARY
Dosyayı ikili dosya olarak aktarın.INTERNET_FLAG_RELOAD
Yerel olarak önbelleğe alınmış olsa bile verileri kablodan alın.INTERNET_FLAG_DONT_CACHE
Verileri yerel olarak veya herhangi bir ağ geçidinde önbelleğe alma.INTERNET_FLAG_SECURE
Bu bayrak yalnızca HTTP istekleri için geçerlidir. Güvenli Yuva Katmanı veya PCT ile kablo üzerinde güvenli işlemler ister.INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT
Mümkünse, her bağlantı isteği için yeni bir oturum oluşturmak yerine tarafındanOpenUrl
oluşturulan yeni istekler için sunucuya yönelik mevcut bağlantıları yeniden kullanın.INTERNET_FLAG_PASSIVE
FTP sitesi için kullanılır. Pasif FTP semantiği kullanır. ile kullanılırCInternetConnection
OpenURL
.
pstrHeaders
HTTP sunucusuna gönderilecek üst bilgileri içeren bir dize işaretçisi.
dwHeadersLength
Ek üst bilgilerin karakter cinsinden uzunluğu. Bu ise -1L
ve pstrHeaders
değilseNULL
, pstrHeaders
sıfır sonlandırıldığı varsayılır ve uzunluk hesaplanır.
Dönüş Değeri
Yalnızca FTP, GOPHER, HTTP ve DOSYA türü İnternet hizmetleri için bir dosya tanıtıcısı döndürür. Ayrıştırma başarısız olursa döndürür NULL
.
Döndüren OpenURL
işaretçi, 'nin hizmet türüne bağlıdır pstrURL
. Aşağıdaki tabloda, olası işaretçilerin döndürebileceği gösterilmektedir OpenURL
.
URL türü | Döndürülenler |
---|---|
file:// |
CStdioFile* |
http:// |
CHttpFile* |
gopher:// |
CGopherFile* |
ftp:// |
CInternetFile* |
Açıklamalar
parametresi dwFlags
ya da INTERNET_FLAG_TRANSFER_ASCII
INTERNET_FLAG_TRANSFER_BINARY
içermelidir, ancak ikisini birden içermemelidir. Kalan bayraklar bit düzeyinde "veya" (|
) işleciyle birleştirilebilir.
OpenURL
, Win32 işlevini InternetOpenURL
sarmalar, yalnızca bir İnternet sunucusundan veri indirmeye, almaya ve okumaya izin verir. OpenURL
uzak bir konumda dosya düzenlemesine izin verir, bu nedenle nesne gerektirmez CInternetConnection
.
Dosyaya yazma gibi bağlantıya özgü (protokole özgü) işlevleri kullanmak için bir oturum açmanız, belirli bir bağlantı türünü açmanız ve ardından bu bağlantıyı kullanarak dosyayı istenen modda açmanız gerekir. Bağlantıya özgü işlevler hakkında daha fazla bilgi için bkz CInternetConnection
.
CInternetSession::operator HINTERNET
Geçerli İnternet oturumu için Windows tanıtıcısını almak için bu işleci kullanın.
operator HINTERNET() const;
CInternetSession::SetCookie
Belirtilen URL için bir tanımlama bilgisi ayarlar.
static BOOL SetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
LPCTSTR pstrCookieData);
Parametreler
pstrUrl
Tanımlama bilgisinin ayarlanması gereken URL'yi belirten null olarak sonlandırılan bir dize işaretçisi.
pstrCookieName
Tanımlama bilgisinin adını içeren bir dize işaretçisi.
pstrCookieData
URL ile ilişkilendirilecek gerçek dize verilerini içeren bir dize işaretçisi.
Dönüş Değeri
Başarılı olursa veya FALSE
başka bir şekilde döndürürTRUE
. Belirli bir hata kodunu almak için öğesini çağırın GetLastError
.
Açıklamalar
Bu üye işlevi, Windows SDK'da açıklandığı gibi Win32 iletisinin InternetSetCookie
davranışını uygular.
CInternetSession::SetOption
İnternet oturumu seçeneklerini ayarlamak için bu üye işlevini çağırın.
BOOL SetOption(
DWORD dwOption,
LPVOID lpBuffer,
DWORD dwBufferLength,
DWORD dwFlags = 0);
BOOL SetOption(
DWORD dwOption,
DWORD dwValue,
DWORD dwFlags = 0);
Parametreler
dwOption
Ayarlanacağı İnternet seçeneği. Olası seçeneklerin listesi için bkz . Windows SDK'sında Seçenek Bayrakları .
lpBuffer
Seçenek ayarını içeren bir arabellek.
dwBufferLength
uzunluğu lpBuffer
veya boyutu dwValue
.
dwValue
DWORD
Seçenek ayarını içeren bir.
dwFlags
Çeşitli önbelleğe alma seçeneklerini gösterir. Varsayılan değer 0 olarak ayarlanır. Olası değerler şunlardır:
INTERNET_FLAG_DONT_CACHE
Verileri yerel olarak veya ağ geçidi sunucularında önbelleğe alma.INTERNET_FLAG_OFFLINE
İndirme işlemleri yalnızca kalıcı önbellek aracılığıyla karşılar. Öğe önbellekte yoksa, uygun bir hata kodu döndürülür. Bu bayrak bit düzeyinde "veya" (|
) işleciyle birleştirilebilir.
Dönüş Değeri
İşlem başarılı olursa değeri TRUE
döndürülür. Bir hata oluştuysa değeri FALSE
döndürülür. Çağrı başarısız olursa, hatanın nedenini belirlemek için Win32 işlevi GetLastError
çağrılabilir.
Ayrıca bkz.
CObject
Sınıf
Hiyerarşi Grafiği
CInternetConnection
Sınıf
CHttpConnection
Sınıf
CFtpConnection
Sınıf
CGopherConnection
Sınıf