陈氏剑郑冬霞:关于OpenURL的问题
来源:百度文库 编辑:九乡新闻网 时间:2024/04/29 09:04:41
你写了一个HTTP下载ASCII文件的东西。
看看吧。
另外,CInternetSession能自动判断超时,不用你设置TIMER
UINT CHttpSession::httpGet(const CString &sUrl,CString &sHtml)
{
int nRead = 0;
char Buffer[1024];
DWORD dwHttpStatus;
try
{
CInternetSession session(
NULL,
1,
INTERNET_OPEN_TYPE_PRECONFIG);
DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_EXISTING_CONNECT|INTERNET_FLAG_RELOAD;
CHttpFile* pHttpFile = (CHttpFile*)session.OpenURL(sUrl,1,dwFlags);
if (pHttpFile)
{
if (pHttpFile-> QueryInfoStatusCode(dwHttpStatus)==0)
return 0;
if(dwHttpStatus > = 200 && dwHttpStatus < 300)
{
do
{
nRead = pHttpFile-> Read(Buffer, 1023);
if (nRead != 0)
{
Buffer[nRead] = 0;
sHtml += Buffer;
}
} while (nRead != 0);
}
}
}
catch (CInternetException* e)
{
e-> Delete();
}
return dwHttpStatus;
}
OpenURL简介
OpenURL定义了一种在WEB服务之间传递信息的机制,是一套应用于WEB上超链接的标准陈述语法,由一组已定义好的标识组成。网络上的各个数据库出版商只要遵照此机制,就可以解析信息提供源(Source)所传送的要求,而信息提供者(Target)也可经由此规范,对服务提供者送出深度链接服务的要求。
OpenUrl与传统链接的区别
上下文相关性
传统链接:传统的链接目标是预先定义好的、静态的、直接指向目标,因此是上下无关的。
OpenURL:OpenURL链接是一个挂接点,将当前的上下文环境提交给链接服务器,由链接服务器动态计算出目标链接、与使用者的需求是相关的,因此是上下文相关的。
灵活性
传统链接:传统链接描述的是具体目标,往往是一对一,其结果受链接源限制,不能实现一次性对多个数据源的统一检索。
OpenURL:在OpenURL方式中,通过链接服务器可将服务类型进行扩展、可实现一次性对多个数据源的统一检索。
可维护性
传统链接:传统链接方式中,一旦目标发生变化,每个链接点都要进行更新维护,若维护人员未能及时更新,往往造成许多失效链接,因此传统的链接方式维护工作量比较大。
OpenURL:OpenURL方式中由于链接服务器是根据元数据动态产生目标链接的,只要目标的基本URL不发生改变,内部数据的变动不会影响链接的准确性,因此,大大减少了维护的工作量。
2. OpenUrl语法构成
OpenURL ::= BASE-URL ‘?’ QUERY
BASE-URL(基础URL):OpenURL解析服务器的url地址。
QUERY(查询):对象源数据及其提供者描述。如果查询包括几个检索条件,则各个条件之间用&来连接。例如要查询的内容包括Title、Data等值,则查询字符串应该为Title=化学&Data=1982。参数部分请参考OpenUrl参数传递。
[img,24,24]file:///C:/DOCUME~1/qu/LOCALS~1/Temp/ksohtml/wps_clip_image1.png[/img]
注意
如果参数的值使用中文字符,那么需要将参数值转化为url的16进制编码。
QUERY ::= DESCRIPTION (‘&&’DESCRIPTION):QUERY由一个或多个DESCRIPTION组成。
DESCRIPTION ::= (ORIGIN-DESCRIPTION‘&’)?OBJECT-DESCRIPTION | OBJECT-DESCRIPTION(‘&’ORIGIN-DESCRIPTION)?:每个DESCRIPTION由ORIGIN-DESCRIPTION和OBJECT-DESCRIPTION两个部分组成。
ORIGIN-DESCRIPTION:传递元数据的源端系统信息。
OBJECT-DESCRIPTION:传递元数据本身的信息。
3. OpenUrl参数传递
OpenURL参数传递的构成如下:
http://localhost/OpenURL/SelectType.aspx?aulast=a&aufirst=b&auinit=c&auinit1=d&auinitm=e&ausuffix=f&au=g&aucorp=h&atitle=i&title=j&jtitle=k&stitle=l&date=m&chron=n&ssn=o&quarter=p&volume=q&part=r&issue=s&spage=t&epage=u&pages=v&artnum=w&isbn=x&issn=y&eissn=z&coden=aa&sici=bb&genre=cc
各参数含义对照表:
[img,614,900]file:///C:/DOCUME~1/qu/LOCALS~1/Temp/ksohtml/wps_clip_image2.jpg[/img]
4. OpenURL举例
[img,25,24]file:///C:/DOCUME~1/qu/LOCALS~1/Temp/ksohtml/wps_clip_image3.png[/img]
提示
目前系统仅支持期刊论文和学位论文两个数据库。
例 B.1. 针对期刊论文
要向链接服务器地址为http://www.wanfangdata.com.cn/OpenUrl/Periodical.aspx提出论文题名为“Chemistry”,日期为“1975”的查询,其OpenURL为:http://www.wanfangdata.com.cn/OpenUrl/Periodical.aspx?title=Chemistry&date=1975。其中:
BASE-URL(基础URL):http://www.wanfangdata.com.cn/OpenUrl/Periodical.aspx。
QUERY(查询):title=Chemistry&date=1975。
例 B.2. 针对学位论文
要向链接服务器地址为http://www.wanfangdata.com.cn/OpenUrl/cddb.aspx提出论文题名为“Feminist”的查询,其OpenURL为:http://www.wanfangdata.com.cn/OpenUrl/cddb.aspx?title=Feminist。其中:
BASE-URL(基础URL):http://www.wanfangdata.com.cn/OpenUrl/cddb.aspx。
QUERY(查询):title=Feminist。
看看吧。
另外,CInternetSession能自动判断超时,不用你设置TIMER
UINT CHttpSession::httpGet(const CString &sUrl,CString &sHtml)
{
int nRead = 0;
char Buffer[1024];
DWORD dwHttpStatus;
try
{
CInternetSession session(
NULL,
1,
INTERNET_OPEN_TYPE_PRECONFIG);
DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII|INTERNET_FLAG_EXISTING_CONNECT|INTERNET_FLAG_RELOAD;
CHttpFile* pHttpFile = (CHttpFile*)session.OpenURL(sUrl,1,dwFlags);
if (pHttpFile)
{
if (pHttpFile-> QueryInfoStatusCode(dwHttpStatus)==0)
return 0;
if(dwHttpStatus > = 200 && dwHttpStatus < 300)
{
do
{
nRead = pHttpFile-> Read(Buffer, 1023);
if (nRead != 0)
{
Buffer[nRead] = 0;
sHtml += Buffer;
}
} while (nRead != 0);
}
}
}
catch (CInternetException* e)
{
e-> Delete();
}
return dwHttpStatus;
}
OPENURL
2007-09-04 12:13:06| 分类: 默认分类 | 标签: |字号大中小 订阅
1. OpenUrl概述OpenURL简介
OpenURL定义了一种在WEB服务之间传递信息的机制,是一套应用于WEB上超链接的标准陈述语法,由一组已定义好的标识组成。网络上的各个数据库出版商只要遵照此机制,就可以解析信息提供源(Source)所传送的要求,而信息提供者(Target)也可经由此规范,对服务提供者送出深度链接服务的要求。
OpenUrl与传统链接的区别
上下文相关性
传统链接:传统的链接目标是预先定义好的、静态的、直接指向目标,因此是上下无关的。
OpenURL:OpenURL链接是一个挂接点,将当前的上下文环境提交给链接服务器,由链接服务器动态计算出目标链接、与使用者的需求是相关的,因此是上下文相关的。
灵活性
传统链接:传统链接描述的是具体目标,往往是一对一,其结果受链接源限制,不能实现一次性对多个数据源的统一检索。
OpenURL:在OpenURL方式中,通过链接服务器可将服务类型进行扩展、可实现一次性对多个数据源的统一检索。
可维护性
传统链接:传统链接方式中,一旦目标发生变化,每个链接点都要进行更新维护,若维护人员未能及时更新,往往造成许多失效链接,因此传统的链接方式维护工作量比较大。
OpenURL:OpenURL方式中由于链接服务器是根据元数据动态产生目标链接的,只要目标的基本URL不发生改变,内部数据的变动不会影响链接的准确性,因此,大大减少了维护的工作量。
2. OpenUrl语法构成
OpenURL ::= BASE-URL ‘?’ QUERY
BASE-URL(基础URL):OpenURL解析服务器的url地址。
QUERY(查询):对象源数据及其提供者描述。如果查询包括几个检索条件,则各个条件之间用&来连接。例如要查询的内容包括Title、Data等值,则查询字符串应该为Title=化学&Data=1982。参数部分请参考
[img,24,24]file:///C:/DOCUME~1/qu/LOCALS~1/Temp/ksohtml/wps_clip_image1.png[/img]
注意
如果参数的值使用中文字符,那么需要将参数值转化为url的16进制编码。
QUERY ::= DESCRIPTION (‘&&’DESCRIPTION):QUERY由一个或多个DESCRIPTION组成。
DESCRIPTION ::= (ORIGIN-DESCRIPTION‘&’)?OBJECT-DESCRIPTION | OBJECT-DESCRIPTION(‘&’ORIGIN-DESCRIPTION)?:每个DESCRIPTION由ORIGIN-DESCRIPTION和OBJECT-DESCRIPTION两个部分组成。
ORIGIN-DESCRIPTION:传递元数据的源端系统信息。
OBJECT-DESCRIPTION:传递元数据本身的信息。
3. OpenUrl参数传递
OpenURL参数传递的构成如下:
http://localhost/OpenURL/SelectType.aspx?aulast=a&aufirst=b&auinit=c&auinit1=d&auinitm=e&ausuffix=f&au=g&aucorp=h&atitle=i&title=j&jtitle=k&stitle=l&date=m&chron=n&ssn=o&quarter=p&volume=q&part=r&issue=s&spage=t&epage=u&pages=v&artnum=w&isbn=x&issn=y&eissn=z&coden=aa&sici=bb&genre=cc
各参数含义对照表:
[img,614,900]file:///C:/DOCUME~1/qu/LOCALS~1/Temp/ksohtml/wps_clip_image2.jpg[/img]
4. OpenURL举例
[img,25,24]file:///C:/DOCUME~1/qu/LOCALS~1/Temp/ksohtml/wps_clip_image3.png[/img]
提示
目前系统仅支持期刊论文和学位论文两个数据库。
例 B.1. 针对期刊论文
要向链接服务器地址为http://www.wanfangdata.com.cn/OpenUrl/Periodical.aspx提出论文题名为“Chemistry”,日期为“1975”的查询,其OpenURL为:http://www.wanfangdata.com.cn/OpenUrl/Periodical.aspx?title=Chemistry&date=1975。其中:
BASE-URL(基础URL):http://www.wanfangdata.com.cn/OpenUrl/Periodical.aspx。
QUERY(查询):title=Chemistry&date=1975。
例 B.2. 针对学位论文
要向链接服务器地址为http://www.wanfangdata.com.cn/OpenUrl/cddb.aspx提出论文题名为“Feminist”的查询,其OpenURL为:http://www.wanfangdata.com.cn/OpenUrl/cddb.aspx?title=Feminist。其中:
BASE-URL(基础URL):http://www.wanfangdata.com.cn/OpenUrl/cddb.aspx。
QUERY(查询):title=Feminist。