OpenURL

OpenURL即“開放連結”,一種解決不同的數字資源系統互操作、進行資源整合的方法,也是一項的技術標準。開放連結(OpenURL)是一種附帶有元數據信息和資源地址信息的“可運行”的URL。可用來解決二次文獻資料庫到原文服務的動態連結問題,服務提供方(通常是圖書館)維護的連結解析器能夠在相關服務網頁上動態生成開放連結。

函式原形

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協定

相關詞條

相關搜尋

熱門詞條

聯絡我們