CHttpConnection Sınıfı
BIR HTTP sunucusuna bağlantınızı yönetir.
Sözdizimi
class CHttpConnection : public CInternetConnection
Üyeler
Ortak Oluşturucular
Veri Akışı Adı | Açıklama |
---|---|
CHttpConnection::CHttpConnection | Bir CHttpConnection nesnesi oluşturur. |
Genel Yöntemler
Veri Akışı Adı | Açıklama |
---|---|
CHttpConnection::OpenRequest | Bir HTTP isteği açar. |
Açıklamalar
HTTP, MFC WinInet sınıfları tarafından uygulanan üç İnternet sunucusu protokolünden biridir.
sınıfıCHttpConnection
, HTTP protokolüne sahip bir sunucuya bağlantıları yöneten bir oluşturucu ve openRequest adlı bir üye işlevi içerir.
BIR HTTP sunucusuyla iletişim kurmak için önce bir CInternetSession örneği oluşturmanız ve ardından bir CHttpConnection nesnesi oluşturmanız gerekir. Hiçbir zaman doğrudan nesne CHttpConnection
oluşturmazsınız; bunun yerine CInternetSession::GetHttpConnection çağrısı yapın; bu da nesneyi oluşturur CHttpConnection
ve buna bir işaretçi döndürür.
Diğer MFC İnternet sınıfları ile nasıl CHttpConnection
çalıştığı hakkında daha fazla bilgi edinmek için WinInet ile İnternet Programlama makalesine bakın. Gopher ve FTP olmak üzere desteklenen diğer iki İnternet protokollerini kullanarak sunuculara bağlanma hakkında daha fazla bilgi için bkz. CGopherConnection ve CFtpConnection sınıfları.
Devralma Hiyerarşisi
CHttpConnection
Gereksinimler
Üst bilgi: afxinet.h
CHttpConnection::CHttpConnection
Bu üye işlevi bir CHttpConnection
nesne oluşturmak için çağrılır.
CHttpConnection(
CInternetSession* pSession,
HINTERNET hConnected,
LPCTSTR pstrServer,
DWORD_PTR dwContext);
CHttpConnection(
CInternetSession* pSession,
LPCTSTR pstrServer,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
DWORD_PTR dwContext = 1);
CHttpConnection(
CInternetSession* pSession,
LPCTSTR pstrServer,
DWORD dwFlags,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
DWORD_PTR dwContext = 1);
Parametreler
pSession
CInternetSession nesnesinin işaretçisi.
hConnected
İnternet bağlantısının tanıtıcısı.
pstrServer
Sunucu adını içeren bir dize işaretçisi.
dwContext
Nesnenin bağlam tanımlayıcısı CInternetConnection
. dwContext hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.
nPort
Bu bağlantı için İnternet bağlantı noktasını tanımlayan sayı.
pstrUserName
Oturum açmak için kullanıcının adını belirten null ile sonlandırılan bir dizenin işaretçisi. NULL ise varsayılan değer anonimdir.
pstrPassword
Oturum açmak için kullanılacak parolayı belirten null ile sonlandırılan bir dize işaretçisi. Hem pstrPassword hem de pstrUserName NULL ise, varsayılan anonim parola kullanıcının e-posta adıdır. pstrPassword NULL veya boş bir dizeyse, ancak pstrUserName NULL değilse, boş bir parola kullanılır. Aşağıdaki tabloda, pstrUserName ve pstrPassword'un dört olası ayarının davranışı açıklanmaktadır:
pstrUserName | pstrPassword | FTP sunucusuna gönderilen kullanıcı adı | FTP sunucusuna gönderilen parola |
---|---|---|---|
NULL veya " " | NULL veya " " | "anonim" | Kullanıcının e-posta adı |
NULL Olmayan Dize | NULL veya " " | pstrUserName | " " |
NULL | NULL Olmayan Dize | HATA | HATA |
NULL Olmayan Dize | NULL Olmayan Dize | pstrUserName | pstrPassword |
dwFlags
Bayrakların herhangi bir INTERNET_FLAG_*
bileşimi. dwFlags değerlerinin açıklaması için CHttpConnection::OpenRequest öğesinin Açıklamalar bölümündeki tabloya bakın.
Açıklamalar
Hiçbir zaman doğrudan bir CHttpConnection
oluşturmazsınız. Bunun yerine, CInternetSession::GetHttpConnection çağrısı yaparak bir nesne oluşturursunuz.
CHttpConnection::OpenRequest
HTTP bağlantısı açmak için bu üye işlevini çağır.
CHttpFile* OpenRequest(
LPCTSTR pstrVerb,
LPCTSTR pstrObjectName,
LPCTSTR pstrReferer = NULL,
DWORD_PTR dwContext = 1,
LPCTSTR* ppstrAcceptTypes = NULL,
LPCTSTR pstrVersion = NULL,
DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);
CHttpFile* OpenRequest(
int nVerb,
LPCTSTR pstrObjectName,
LPCTSTR pstrReferer = NULL,
DWORD_PTR dwContext = 1,
LPCTSTR* ppstrAcceptTypes = NULL,
LPCTSTR pstrVersion = NULL,
DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);
Parametreler
pstrVerb
İstekte kullanılacak fiili içeren bir dize işaretçisi. NULL ise, "GET" kullanılır.
pstrObjectName
Belirtilen fiilin hedef nesnesini içeren bir dize işaretçisi. Bu dize genellikle bir dosya adı, yürütülebilir modül veya arama tanımlayıcısıdır.
pstrReferer
İstekteki (pstrObjectName) URL'nin alındığı belgenin adresini (URL) belirten bir dize işaretçisi. NULL ise, HIÇBIR HTTP üst bilgisi belirtilmez.
dwContext
İşlemin bağlam tanımlayıcısı OpenRequest
. dwContext hakkında daha fazla bilgi için Açıklamalar bölümüne bakın.
ppstrAcceptTypes
İstemci tarafından kabul edilen içerik türlerini gösteren dizelere yönelik null olarak sonlandırılan BIR LPCTSTR işaretçi dizisi işaretçisi. ppstrAcceptTypes NULL ise, sunucular istemcinin yalnızca "text/*" türündeki belgeleri kabul ettiğini (yani, resimleri veya diğer ikili dosyaları değil, yalnızca metin belgelerini) kabul ettiğini yorumlar. İçerik türü, HTTP POST ve PUT gibi ekli bilgilere sahip sorgular için veri türünü tanımlayan CGI değişkeni CONTENT_TYPE eşdeğerdir.
pstrVersion
HTTP sürümünü tanımlayan bir dize işaretçisi. NULL ise, "HTTP/1.0" kullanılır.
dwFlags
INTERNET_ FLAG_* bayraklarının herhangi bir bileşimi. Olası dwFlags değerlerinin açıklaması için Açıklamalar bölümüne bakın.
nVerb
HTTP istek türüyle ilişkilendirilmiş bir sayı. Aşağıdakilerden biri olabilir:
HTTP istek türü | nVerb değeri |
---|---|
HTTP_VERB_POST | 0 |
HTTP_VERB_GET | 1 |
HTTP_VERB_HEAD | 2 |
HTTP_VERB_PUT | 3 |
HTTP_VERB_LINK | 4 |
HTTP_VERB_DELETE | 5 |
HTTP_VERB_UNLINK | 6 |
Dönüş Değeri
CHttpFile nesnesinin işaretçisi istendi.
Açıklamalar
dwFlags aşağıdakilerden biri olabilir:
İnternet bayrağı | Açıklama |
---|---|
INTERNET_FLAG_RELOAD | İstenen dosya, nesne veya dizin listesinin önbellekten değil kaynak sunucudan indirilmesini zorlar. |
INTERNET_FLAG_DONT_CACHE | Döndürülen varlığı önbelleğe eklemez. |
INTERNET_FLAG_MAKE_PERSISTENT | Döndürülen varlığı kalıcı varlık olarak önbelleğe ekler. Bu, standart önbellek temizleme, tutarlılık denetimi veya çöp toplamanın bu öğeyi önbellekten kaldıramayacağı anlamına gelir. |
INTERNET_FLAG_SECURE | Güvenli işlem semantiğini kullanır. SSL/PCT kullanımına çevrilir ve yalnızca HTTP isteklerinde anlamlıdır |
INTERNET_FLAG_NO_AUTO_REDIRECT | Yalnızca HTTP ile kullanıldığında, yeniden yönlendirmelerin CHttpFile::SendRequest içinde otomatik olarak işlenmemesi gerektiğini belirtir. |
Bağlam tanımlayıcısını dwContext
seçtiğiniz bir değere ayarlamak için varsayılanı geçersiz kılın. Bağlam tanımlayıcısı, CInternetSession nesnesi tarafından oluşturulan nesnenin CHttpConnection
bu özel işlemiyle ilişkilendirilir. Değer, tanımlandığı işlemde durum sağlamak için CInternetSession::OnStatusCallback'e döndürülür. Bağlam tanımlayıcısı hakkında daha fazla bilgi için İnternet İlk Adımlar: WinInet makalesine bakın.
Bu işlevle özel durumlar oluşturulabilir.
Ayrıca bkz.
CInternetConnection Sınıfı
Hiyerarşi Grafiği
CInternetConnection Sınıfı
CHttpFile Sınıfı