1

迁移我们的存储库后,我想重新注册现有的 dois 以使它们重定向到我们的新存储库。不幸的是,datacite 文档对我不起作用。这是文档中的示例调用:

# PUT /doi
$ curl -H "Content-Type:text/plain;charset=UTF-8" -X PUT --user username:password -d "$(printf 'doi=10.5072/JQX3-61AT\nurl=http://example.org/')" https://mds.test.datacite.org/doi/10.5072/JQX3-61AT

我根据我的设置更改了servern, doi和部分。url所有 DOI 都已注册并与元数据相关联。但我只有

HTTP/1.1 412 Precondition Failed

如果 DOI 未与元数据流关联,通常会发生这种情况。但就我而言,DOI 有 metadata

通过文档上的示例工作。这不会发生在测试实例上,它只会发生在生产中

有没有办法使用 curl 在 datacite 上重新注册 DOI 重定向?

4

1 回答 1

1

跳过datacite源代码后,我找到了一个解决方案:

也可以将参数作为查询参数传递

curl -XPUT -uusername:password "https://mds.datacite.org/doi/?doi=10.5072/JQX3-61AT&url=https://myserver/url/for/10.5072/JQX3-61AT" -d"" -H"Content-Type:application/x-www-form-urlencoded"  -i

datacite 现在返回

HTTP/1.1 201 Created

并且重定向指向我们的新服务器。

于 2018-04-18T07:30:20.833 回答