J'essaie d'envoyer une liste d'utilisateurs à Xerox pour fins de comptabilité réseau.Comptabilité réseau Xerox (JBA) C70 envoi d'utilisateurs comptables
je le faire avec succès avec 2 modèles Xerox (Xerox WorkCentre 7556 et WorkCentre 7830), suivant le code sudo en PHP:
function SendUsersToXerox($ip,$users)
{
$url="{$ip}/acct/set_auth";
$auth='account:jbaserve';
$post="+aaav1.0\n+purge\n";
foreach ($users as $u)
{
$post.="+u\"{$u->login}\"\"{$u->code}\"\n";
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, 'EQ Device Control Engine');
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, TRUE);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_USERPWD, "$auth");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/xrx-acct-data']);
$data = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// echo "HTTP CODE: {$httpcode}<br/>";
// echo $data;
}
Ce code fonctionne parfaitement sur ce qui précède le nom de Xerox, mais échoue sur le C70 avec une erreur 401 et le message suivant:
Invalid accounting authentication version
la comptabilité du réseau est activé sur l'appareil, et je peux recueillir tous les travaux de l'imprimante à l'adresse ACCT/get_acct
Si je passe de mauvaises données de post, je reçois un message d'erreur différent:
HTTP Return 400
The Request had invalid syntax
Je ne trouve aucune référence à JBA ou comptable réseau partout et ne suis pas sûr de savoir comment savoir si le format a changé sur set_auth ou si c'est la différence de version qui doit être définie.
Je sais qu'il existe des différences dans la sortie get_acct qui pointe vers une version différente de la comptabilité.