Bonjour à tous,
Existe-t'il une fonction en c pour renommer un fichier sur un serveur http.
Ce que je cherche c'est un peu l'équivalent de FtpRenameFile pour windows ou ftprename pour linux.
Merci à tous.
Version imprimable
Bonjour à tous,
Existe-t'il une fonction en c pour renommer un fichier sur un serveur http.
Ce que je cherche c'est un peu l'équivalent de FtpRenameFile pour windows ou ftprename pour linux.
Merci à tous.
En C, il n'existe rien. Même le FtpRenameFile() que tu cites pour le protocole FTP n'est qu'une encapsulation de la commande RNFR (Rename From) du protocole FTP.
Il faudrait regarder s'il existe une requête similaire (renommage de fichier) dans les RFC HTTP.
Et même si elle existe, je pense que peu de serveurs te laisseront l'utiliser car c'est vraiment dangereux pour la sécurité du site:?.
Tu parles d'un serveur http. Mais quel est le protocole autres que tu peux utiliser pour t'y connecter (ssh, ftp...) ? Car le protocole HTTP seul ne permet pas de renommer des fichiers sur le serveur (d'ailleurs, il n'y a pas forcement de notions de fichiers sur un serveur http)
Merci d'avoir répondu.
En fait, l'objectif est de se connecter sur un serveur en http et de récupérer ou déposer des fichiers sur ce dernier. Pour que d'autre processus n'accèdent pas au même temps à ces fichiers, on a fait un "système de sémaphore" qui consiste en gros à renommer un fichier "lock" sur ce serveur.
Actuellement on se connecte en FTP sur le serveur et on veut remplacer tout ça par de l'HTTP. j'arrive bien à envoyer mes requetes GET et POST mais pour ce qui du renommage, je seche...
Voilà, j'espère que c'est plus clair. merci encore une fois
Normal, il n'y a pas de requête HTTP pour renommer un fichier.
Il faut soit ajouter du code sur le serveur (donc une servlet particulière en java, un fichier php en php etc.) contenant le code métier permettant de renommer le fichier via une requête du type POST, mais c'est pas vraiment conseillé.
Normalement, un serveur HTTP donc on a pas un accès physique est quasiment toujours couplé à un serveur FTP ou un serveur SSH.
Donc je doute de l'utilité de retirer complètement votre serveur FTP.
Une possibilité avec des requêtes HTTP :
Code:
1
2
3GET <old-http-fichier> DELETE <old-http-fichier> PUT <new-http-fichier>
Par contre, cela me pose un problème de sécurité de savoir que les requêtes PUT et DELETE sont autorisées sur le serveur HTTP. Mais bon:?.
Et puis question performances, c'est pas tip-top. Pour renommer un fichier, on le fait transiter 2 fois par le réseau (GET et PUT) et il occupe de l'espace disque de manière temporaire lors de la transition (ca c'est moins grave, l'espace disque ne coûte plus très cher)
En fait, la sécurité n'est pas vraiment un problème.
On ne passe pas par un réseau public. Les fichiers sont des fichiers log, d'erreurs, ..etc à transférer à remonter d'une machine vers un serveur.
Je pense que ça serait plus judicieux de penser à un autre mécanisme de sémaphore.
Merci à tout pour vos réponses.