错误401 curl PUT php
我试图使用带有curl-through-PUT的webservice,但它返回了一个错误401。可能是由内容标题引起的?如果我输入0,它将返回401。我的代码:错误401 curl PUT php,php,web-services,curl,Php,Web Services,Curl,我试图使用带有curl-through-PUT的webservice,但它返回了一个错误401。可能是由内容标题引起的?如果我输入0,它将返回401。我的代码: $data = array( 'codigo' => $codigo, 'nombre' => $nombre, 'descripcion' => $descripcion, 'fecha_inicio' => $fe
$data = array(
'codigo' => $codigo,
'nombre' => $nombre,
'descripcion' => $descripcion,
'fecha_inicio' => $fecha_inicio,
'fecha_fin' => $fecha_fin,
'dmañana' => $dmaniana,
'hmañana' => $hmaniana,
'dtarde' => $dtarde,
'htarde' => $htarde,
'objetivo' => $objetivo,
'propietario' => $propietario,
'derechos' => $derechos,
'lista' => $lista,
'argumentario' => $argumentario
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url.'?'.http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: 0', "TokenSession: ".$token));
//curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
//curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
$output = curl_exec($ch);
curl_close($ch);
401错误表示您无权向服务器发出请求。您试图查询的服务器是否需要身份验证?另外-当您想要使用PUT方法传递数据时,为什么要设置
Content Length:0
?是的,如果我为exmaple curl\u setopt($ch,CURLOPT\u HTTPHEADER,array('Content-Length:')。strlen(http\u build\u query($data))进行PUT,我需要通过在其他Web服务中生成的头传递令牌,“TokenSession:”.$token));它返回给我相同的错误401问题很可能是您没有正确地进行身份验证…正如错误告诉您的那样。