Php curl手术无反应,邮递员成功
下面的一个我与邮递员一起测试,它返回了响应,但当我在PHP中检查时,它没有返回任何响应。请帮助我 cURL文件创建:Php curl手术无反应,邮递员成功,php,curl,yii2,Php,Curl,Yii2,下面的一个我与邮递员一起测试,它返回了响应,但当我在PHP中检查时,它没有返回任何响应。请帮助我 cURL文件创建: $curl_file = curl_file_create(\Yii::$app->basePath.'/web/uploads/'.$uploadedFile->name,'pbix',$uploadedFile->baseName); $params = ['file' => $curl_file]; $curl = curl
$curl_file = curl_file_create(\Yii::$app->basePath.'/web/uploads/'.$uploadedFile->name,'pbix',$uploadedFile->baseName);
$params = ['file' => $curl_file];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://***.***.**.***/v1.0/collections/**/workspaces/**/***?datasetDisplayName=new test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $params,
CURLOPT_HTTPHEADER => array(
"authorization: key",
),
));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
卷曲过程:
$curl_file = curl_file_create(\Yii::$app->basePath.'/web/uploads/'.$uploadedFile->name,'pbix',$uploadedFile->baseName);
$params = ['file' => $curl_file];
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://***.***.**.***/v1.0/collections/**/workspaces/**/***?datasetDisplayName=new test",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => $params,
CURLOPT_HTTPHEADER => array(
"authorization: key",
),
));
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
问题是参数中有空格。
空格
应替换为%20
。您需要执行以下操作:
$url="https://***.***.**.***/v1.0/collections/**/workspaces/3b09eff6-69ae-4932-9419-14eeb69a9dbd/***?datasetDisplayName=new test";
$curl_url=str_replace(" ","%20",$url);
或者您必须使用。这是在对URL的查询部分中使用的字符串进行编码时使用的
$curl_url="https://***.***.**.***/v1.0/collections/**/workspaces/3b09eff6-69ae-4932-9419-14eeb69a9dbd/***?datasetDisplayName=urlencode(new test)";
然后
我建议你取下你的钥匙。您的密钥应该是私有的,而不是发布在这里,所以我删除了它。Curl的输出是什么?错误?一个空白字符串?没有错误…只是空响应如果它显示了一些错误,我可以从中检查,但不能