FTP

Résolu
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 - 25 août 2006 à 18:04
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 - 26 août 2006 à 13:48
Bonjour, je cherche à faire une connection à un serveur FTP. Je sais qu'il existe wininet.dll ou les sockets. Quelle est la meilleure solution et comment la mettre en oeuvre (si c'est les socket)?
Merci

________________________________________

debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________

17 réponses

wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
25 août 2006 à 19:57
pour se connect

quote user "....."
quote pass "....."

etc....
pour le protocole FTP :

http://www.iprelax.fr/ftp/
dont :
 http://www.iprelax.fr/ftp/ftp_session.php
et les commandes :
http://www.iprelax.fr/ftp/ftp_descr2.php
3
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
25 août 2006 à 20:37
oui un socket simple, tout bete, tu envoi par socket des fonction FTP

(PS: n'oubliez pas Reponse Accepter)
3
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
25 août 2006 à 20:42
<tt>

#include <winsock2.h><winsock2.h>
#pragma comment(lib, "ws2_32.lib")

void main()
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,0), &WSAData);
SOCKET sock;
SOCKADDR_IN sin;
char *buffer = new char[255];
/* Tout est configuré pour se connecter sur IRC, haarlem, Undernet. */
sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_addr.s_addr = inet_addr("0.0.0.0");
sin.sin_family = AF_INET;
sin.sin_port = htons(21);
connect(sock, (SOCKADDR *)&sin, sizeof(sin));
</winsock2.h></tt>
<tt>
<tt>send(sock, "quote user wxccxw", 17, 0);</tt>
</tt>


<tt>
<winsock2.h>closesocket(sock);
WSACleanup();
}

se connect avec l'utilisateur wxccxw sur 0.0.0.0
</winsock2.h>
</tt>
3
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
25 août 2006 à 18:48
http://c.developpez.com/WalrusSock/
pour apprendre les base avec les socket
puis apres tu send().... les fonction FTP

bonne chance !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 8
25 août 2006 à 20:34
ok merci. En fait si je comprends bien c'est une connection socket classique en envoyant des fonctions spéciales? En tt cas merci

________________________________________

debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________
0
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
25 août 2006 à 20:39
une connection simple :

open ftpperso.free.fr 21
quote user xxxx
quote pass xxxx

GET ...

donc tu send sa !
0
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 8
25 août 2006 à 20:43
il y a un truc que je ne comprend pas... Je dois mettre tout le temps quote"la commande" lors de l'envoi? Et lors de l'envoi de la commande list, sous quelle forme est renvoyée la réponse? un tableau ou une chaine?
________________________________________

debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________
0
deck_bsd Messages postés 1243 Date d'inscription jeudi 31 mars 2005 Statut Membre Dernière intervention 3 août 2016 2
25 août 2006 à 21:36
Merci wxccxw , c'est liens sont vraiment intéressent :D
0
Utilisateur anonyme
25 août 2006 à 22:31
Moi je sais pas, mais si tu as juste besoin une fois comme ca du FTP utilise WinInet c'est vrément plus simple que de manier le protocol en lui meme.
Certe ca ne va rien d'apprendre sur le protocol FTP mais bon...
Aprés si tu ne connais pas encore les sockets pour faire ton propre server FTP en maniant les sockets ca va te prendre un bout de temps!
Alors qu'avec WinInet en 1h00 maximum bein tu fais ce que tu veux avec  le FTP
MaLaDeDeDe 97one 
0
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 8
25 août 2006 à 23:06
Il est vrai que Wininet est pratique pour faire un truc "vite fait" mais après des recherches et des tests, je me suis rendu compte que ses fonctionnalités sont assez "limitées". Je vais voir pour y faire avec les sockets, comme il n'y a pas de différence avec le socket normal et si je sèche je me tournerais vers Wininet. Merci du conseil
________________________________________

debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________
0
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
25 août 2006 à 23:20
le quote devant la commande est facultatif

je te fais une session simple :

Microsoft Windows XP [version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\Jean.PCTEK>ftp
ftp> open ftpperso.free.fr 21  // Facultatif avec WINSOCK
Connecté à ftpperso.free.fr.
220 Serveur de mise a jour des pages perso de Free.fr version [Jan 30 2006 17:28
:04]
Utilisateur (ftpperso.free.fr:(none)) : jguis // Pas bessoin de commande user avec certain server
331 Password required for jguis.
Mot de passe :              // pas besoin de commande pass avec certain server
230 User jguis logged in.
ftp> list
Commande non valide.
ftp> ls // on affiche tout les fichier et dossier
200 PORT command successful.
150 Opening ASCII mode data connection for file list
.
..
video.wmv
1.gif
2.gif
Jeanlepail.dll
download
BlueSky
Source.rar
nnrulz.rar
pass.txt
D3D9.rar
Logiciel
design
screen013.png
screen016.png
Reborn.rar
upload
cle.exe
logo.psd.zip
226-Transfer complete.
226 Quotas: utilisation de 25 Mo sur les 1024 Mo
ftp : 202 octets reçus en 0,08 secondes à 2,59 Ko/sec.
ftp> get D3D9.rar // je prends D3D9.rar
200 PORT command successful.

tout cela a ete fais grace a l'invite de commande et FTP.exe de windows.
on y voit des fonction simple sur mon FTP
tel que GET OPEN LS etc.... sinon la doc Iprelax.com est tres pratique encore bonne chance
0
cs_aardman Messages postés 1905 Date d'inscription mercredi 22 janvier 2003 Statut Membre Dernière intervention 17 septembre 2012 3
26 août 2006 à 02:26
Salut,

adrienva> personnelement je trouve que la réponse la plus pertinente
qui as été donné ici reste celle de maladedede. Wininet c'est rapide à
écrire, mais c'est bof. Si tu codes tout directement avec les sockets,
tu aura un control absolu sur tout ce que ton client fera (mais c'est
plus compliqué).
0
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 8
26 août 2006 à 09:15
oui, la je viens de commencer à faire ca avec les sockets et ca me semble beaucoup plus "libre" que Wininet. Merci a tous de vos réponses.
________________________________________

debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________
0
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 8
26 août 2006 à 10:12
J'ai  un petit truc ou je bloque, lorsque je reçois mon buffer, je le cout<message db ?@+?, ?$?
end debut
________________________________________
0
wxccxw Messages postés 755 Date d'inscription samedi 15 mai 2004 Statut Membre Dernière intervention 30 janvier 2011
26 août 2006 à 13:11
ton buffer est mal initialiser (BUFFER[255] etc... fais de sizeof et strlen pour que sa soit bien)
0
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 8
26 août 2006 à 13:37
C'est ce que j'ai fait (en copier coller de ton code) et ca ne fonctionne toujours pas
________________________________________


debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________
0
adrienva Messages postés 77 Date d'inscription lundi 14 août 2006 Statut Membre Dernière intervention 27 février 2007 8
26 août 2006 à 13:48
euh je voulais dire copier coller du code sur le tuto de developpez.

________________________________________

debut:
mov ah, 09h
mov dx, offset message
int 21h
ret
message db ?@+?, ?$?
end debut
________________________________________
0
Rejoignez-nous