函式原形
CInternetSession::OpenURL
CStdioFile* OpenURL( LPCTSTR pstrURL, //檔案URL地址
DWORD dwContext = 1, //上下文ID
DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII, //標記
LPCTSTR pstrHeaders = NULL, //傳送到伺服器的數據頭
DWORD dwHeadersLength = 0 ); //傳送到伺服器的數據頭長度
返回值說明
該函式的返回值根據 pstrURL的服務類型而改變,詳見下表:
URL type | Returns |
file:// | CStdioFile* |
http:// | CHttpFile* |
gopher:// | CGopherFile* |
ftp:// | CInternetFile* |
參數說明
dwFlags可以為:
INTERNET_FLAG_RELOAD 強制重讀數據
INTERNET_FLAG_DONT_CACHE 不保存到快取
INTERNET_FLAG_TRANSFER_ASCII 使用文本數據
INTERNET_FLAG_TRANSFER_BINARY 使用二進制數據
CInternetSession session; //會話期對象
CHttpConnection* pServer = NULL; //指向伺服器地址(URL)
CHttpFile * pHttpFile = NULL; //HTTP檔案指針
CString strServerName; //伺服器名
CString strObject; //查詢對象名(http檔案)
INTERNET_PORT nPort; //連線埠
DWORD dwServiceType; //服務類型
DWORD dwHttpRequestFlags = //請求標誌
//INTERNET_FLAG_EXISTING_CONNECT
INTERNET_FLAG_NO_AUTO_REDIRECT;
const TCHAR szHeaders[]=_T("Accept: text/*\r\nUser-Agent: HttpClient\r\n");
BOOL OK=AfxParseURL( //詞法分析
pURL, //被分析URL串
dwServiceType, //服務類型,ftp,http等
strServerName, //伺服器名
strObject, //URL中被查詢對象
nPort ); //URL指定的連線埠,可能為空
OK=OK && //本例只考慮http協定