词条 | 开放链接 |
释义 | 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 );//发送到服务器的数据头长度 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\User-Agent: HttpClient\\r\"); BOOL OK=AfxParseURL( //词法分析 pURL, //被分析URL串 dwServiceType, //服务类型,ftp,http等 strServerName, //服务器名 strObject, //URL中被查询对象 nPort ); //URL指定的端口,可能为空 OK=OK && //本例只考虑http协议 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。