我在 PHP 中实现了一个符合 OAI-PMH2 的数据提供程序(它从 MySQL 数据库中检索数据),并且我正在尝试对其进行验证,但我遇到了一个阻止成功验证的错误。
该错误与此问题中描述的内容有些相关,但是在我的情况下,POST 请求verb=Identify
成功通过,而第二个请求失败。
更烦人的是,当我使用 发送相同的请求时,它会成功处理curl
,即它输出格式正确的 XML。
更具体地说,我得到的错误如下:
REQUEST http://www.mydataprovider/my_oaipmh2.php POST
identifier:oai:www.mydataprovider/my_oaipmh2.php:1
metadataPrefix:oai_dc verb:GetRecord
FAIL POST test 2 for GetRecord was unsuccessful, got neither a valid response nor an error
(当然,www.mydataprovider/my_oaipmh2.php 代表实际 URL。)
因此,我尝试通过 执行(多次)相同的 POST 请求curl
,如下所示:
curl --data "verb=GetRecord&metadataPrefix=oai_dc&identifier=oai:www.mydataprovider/my_oaipmh2.php:1" http://www.mydataprovider/my_oaipmh2.php
它总是成功地返回带有第一条记录的正确 XML 响应。
我错过了什么?这可能是由于某些服务器端设置造成的吗?
(我自己无权访问服务器管理,但我当然可以询问托管服务提供商。)