php cloudant curl 抱怨数据库已经存在
php cloudant curl complains db already exists
我有一个 curl 请求到 cloudant 数据库以添加新文档。但是,每当我 运行 它时,它都会抱怨数据库已经存在,然后我必须重命名 url 中的数据库。然而,这只会创建一个新的空数据库。我的 curl 请求有什么问题?
这是我使用的代码:
credentials = base64_encode($login.':'.$password);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => $data,
CURLOPT_HTTPHEADER => array(
'Authorization: Basic '.$credentials,
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
if($this->debug === 1) {
echo $err;
var_dump($info);
}
return false;
} else {
return $response;
}
这是使用它的代码:
$journey_data = array(
"name" => "name",
"TEST" => "TESTIN TED"
);
$this->cloudent_controller = modules::load('cloudent_integration/cloudent_integration');
$url = "https://test.cloudant.com/fubar";
$result = $this->cloudent_controller->createDocument($url, json_encode($journey_data));
var_dump($result);
die;
是的,我正在使用 code igniter 和 hmvc 模式,但这些都不是重要的细节,因为我正在收到回复。
回复:
string(95) "{"error":"file_exists","reason":"The database could not be created, the file already exists."} "
要在 couchDB 服务器中创建新文档,您需要向要保存文档的 url 发送 PUT 或 POST 请求,这意味着您需要指定数据库和文件名在url:
https://test.cloudant.com/fubar/doc_id
如果您直接向数据库发送 PUT 或 POST 请求,就像我想的那样,您是在要求 couchDB 创建该数据库。
我有一个 curl 请求到 cloudant 数据库以添加新文档。但是,每当我 运行 它时,它都会抱怨数据库已经存在,然后我必须重命名 url 中的数据库。然而,这只会创建一个新的空数据库。我的 curl 请求有什么问题?
这是我使用的代码:
credentials = base64_encode($login.':'.$password);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => $data,
CURLOPT_HTTPHEADER => array(
'Authorization: Basic '.$credentials,
"content-type: application/json"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
if($this->debug === 1) {
echo $err;
var_dump($info);
}
return false;
} else {
return $response;
}
这是使用它的代码:
$journey_data = array(
"name" => "name",
"TEST" => "TESTIN TED"
);
$this->cloudent_controller = modules::load('cloudent_integration/cloudent_integration');
$url = "https://test.cloudant.com/fubar";
$result = $this->cloudent_controller->createDocument($url, json_encode($journey_data));
var_dump($result);
die;
是的,我正在使用 code igniter 和 hmvc 模式,但这些都不是重要的细节,因为我正在收到回复。
回复:
string(95) "{"error":"file_exists","reason":"The database could not be created, the file already exists."} "
要在 couchDB 服务器中创建新文档,您需要向要保存文档的 url 发送 PUT 或 POST 请求,这意味着您需要指定数据库和文件名在url:
https://test.cloudant.com/fubar/doc_id
如果您直接向数据库发送 PUT 或 POST 请求,就像我想的那样,您是在要求 couchDB 创建该数据库。