gpt4 book ai didi

http - 使用 Mathematica 将文档插入 CouchDB

转载 作者:可可西里 更新时间:2023-11-01 16:22:16 25 4
gpt4 key购买 nike

我正在寻找一种使用 Mathematica 将文档插入 CouchDB 数据库的方法。基于this帖子,我尝试使用以下代码:

InsertDocument[key_, value_] := 
With[{url =
"http://couchdburl/database/"},
Import[url, "XML", "RequestMethod" -> "POST",
"RequestParameters" -> {"key" -> key, "value" -> value}]]

但是当我尝试像这样执行它时,例如:

InsertDocument[110, 1]

我收到以下错误:

Import::erropts: The value {key->110,value->1} specified for the option RequestParameters is invalid. >>

编辑:

按照kguler的注释,我把参数转成string,之前的错误就消失了。我还在我的代码示例中修复了被遗忘的 },并删除了 url 与 key 参数的连接。现在我遇到了一个不同的错误:

Throw::nocatch: Uncaught Throw[Null,UtilitiesURLToolsPrivateURLTOOLSException[UtilitiesURLToolsPrivateBADCONNECTION,http://couchdburl/database/]] returned to top level. >>

我尝试使用虚拟文档使用 curl 向 couchDb url 发出请求:

curl -X POST http://couchdburl/database/ -H "Content-Type: application/json" -d {}

响应如预期:

{"ok":true,"id":"57291ccea74c455beb2d7a37fe001624","re​​v":"1-967a00dff5e02add41819138abb3284d"}

我是否还遗漏了应该在导入函数中使用的任何选项?也许有一些选项可以将内容类型设置为 application/json?

最佳答案

我按照 this 中提出的相同想法设法做到了这一点所以问题。

在一些问题之后,下面的代码可以工作了:

<< JLink`

client = JavaNew["org.apache.commons.httpclient.HttpClient"];

method = JavaNew["org.apache.commons.httpclient.methods.PostMethod",
"http://couchdburl/database/"];

method@setRequestHeader["Content-Type", "application/json"];

entity =
JavaNew["org.apache.commons.httpclient.methods.StringRequestEntity",
"{\"key\":\"10\",\"value\":\"0\"}", "application/json", Null]

method@setRequestEntity[entity]

client@executeMethod[method]

关于http - 使用 Mathematica 将文档插入 CouchDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8903142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com