Curl 使用REST api将文档摄取到marklogic中时出现未经授权的错误?

Curl 使用REST api将文档摄取到marklogic中时出现未经授权的错误?,curl,marklogic,marklogic-9,Curl,Marklogic,Marklogic 9,我正在使用REST APi将一个文档从我的windows计算机摄取到一个我已经创建的数据库Test F:\Curl>curl --anyauth --user admin:admin -X PUT -d@"F:/REST/file.xml" -i -H "Content-type: application/xml" http://localhost:8000/Test/documents?uri=/xml/F:/REST/file.xml 但我得到了这样的错误: HTTP/1.1 401

我正在使用REST APi将一个文档从我的windows计算机摄取到一个我已经创建的数据库
Test

F:\Curl>curl --anyauth --user admin:admin -X PUT -d@"F:/REST/file.xml" -i -H "Content-type: application/xml" http://localhost:8000/Test/documents?uri=/xml/F:/REST/file.xml
但我得到了这样的错误:

HTTP/1.1 401 Unauthorized
Server: MarkLogic
WWW-Authenticate: Digest realm="public", qop="auth", nonce="317cc2c17ace5b3680ddb90df7d7e4d9", opaque="871eddaeecdf779c"
Content-Type: text/html; charset=utf-8
Content-Length: 209
Connection: Keep-Alive
Keep-Alive: timeout=5

HTTP/1.1 404 Not Found
Content-type: text/html; charset=UTF-8
Server: MarkLogic
Content-Length: 5763
Connection: Keep-Alive
Keep-Alive: timeout=5

<!DOCTYPE html>
<html xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xs="http://www.w3.org/2001/XMLSchema"><head><title>Error ΓÇó MarkLogic Application Services</title><meta http-equiv="X-UA-Compatible" content="IE=8"/><!-- XSLTForm dependency --><link href="/common/static/css/environment-ui.css?9.0-2" media="screen" rel="stylesheet" type="text/css"/><link href="/common/static/css/universal-header.css?9.0-2" media="screen" rel="stylesheet" type="text/css"/><script src="/common/static/js/universal-header.js?9.0-2" type="text/javascript"> </script><script>var ML = ML || {};  ML.environmentUI = {};</script><script src="/common/static/js/environment-ui.js?9.0-2" type="text/javascript"> </script><link rel="stylesheet" type="text/css" href="/common/static/css/base.css"/><link rel="stylesheet" type="text/css" href="/common/static/css/master.css"/><link rel="stylesheet" type="text/css" href="/common/yui-2.8/menu/assets/skins/sam/menu.css"

您正在对Curl使用anyAuth选项。这将尝试一种身份验证方法(基本),然后在前一种失败时重试(摘要)(依此类推)。我讨厌anyAuth的样本,因为人们对结果感到困惑。最好了解服务器的期望值并使用特定的auth方法

仔细看看你的帖子

第一个答复是Ún-authorized

然后cUrl重试并收到404-未找到。-身体的反应实际上是一个网页。。 因此,问题根本不是身份验证

URL“”似乎根本不存在。我从未听说过AppServices(8000)服务器上的端点调用测试/文档


此外,为了增加安全性,我建议将URL用双引号括起来,以保护可能在命令行中损坏的任何特殊字符。

谢谢@David。我在
updated curl command
部分使用正确的curl命令进行了更新。没问题。很高兴它有帮助!
F:\Curl>curl --digest --user admin:admin -X PUT -d@"F:/REST/rest.xml" -i -H "Content-type: application/xml" "http://localhost:8000/v1/documents?uri=/rest/file.xml"