FTP-Verbindung per Programm

Unicate

Erfahrenes Mitglied
Hallo Welt!

Ich habe ein Problem.
Ich möchte eine Datei aus dem Web auslesen lassen, allerdings habe ich noch keine kluge Idee, wie ich das anstellen soll.

Ich will im Prinzip eine Datenbank ins Netz stellen, auf die ich nur mit meinem Programm zugreifen kann.

Wie stell ich die Verbindung zu dem FTP bzw. zu der Datei her?

Danke für jede Antwort
 
moin


Da du weder angaben zum Compiler noch zur Sprache gemacht hast bekommste du einfach mal ein Beispiel das die MFC benutzt:
Code:
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
	AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0);

	CInternetSession session;
	CFtpConnection *connection;
	CInternetFile *file;

	char buffer[100];
	

	connection = session.GetFtpConnection("umbrasaxum.um.funpic.de", "umbrasaxum", "thegeilomat", 21, 0);
	if(connection)
		cout<< "Verbunden\n";

	if(connection->SetCurrentDirectory("test"))
		cout<<"Verzeichnis gewechselt\n";
	
	file = connection->OpenFile("xxx.txt", GENERIC_READ, FTP_TRANSFER_TYPE_BINARY, 1);

	if(file)
		cout<<"Datei geoeffnet\n";

	file->Read(buffer, 100);

	cout<< buffer;
	session.Close();

	cin.get();
	return 0;
}

Ansonsten bemüh mal die Suchfunktion.


mfg
umbrasaxum
 
Danke erstmal!

Habe Windows XP, MSVS v6

Kannst du deinen Code mal Dokumentieren bitte?
Das sieht so aus als ob ich die MFC's verwenden muss...


welche Libary's muss ich dafür einbinden?
Wenn geht hätt ich das gern für die Konsole (Win32)
 
Zuletzt bearbeitet:
moin


In der MSDN findet man ein Tutorial dazu.
Und ja das Beispiel benutzt die MFC allerdings in der Konsole!


mfg
umbrasaxum
 
moin


Ich kann das gleich nochmal raussuchen.

Ich hab mir die MFC automatisch einbinden lassen.
Dazu gekommen sind dann
Code:
#include <tchar.h>
#define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS	// some CString constructors will be explicit

#ifndef VC_EXTRALEAN
#define VC_EXTRALEAN		// Exclude rarely-used stuff from Windows headers
#endif

#include <afx.h>
#include <afxwin.h>         // MFC core and standard components
#include <afxext.h>         // MFC extensions
#include <afxdtctl.h>		// MFC support for Internet Explorer 4 Common Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h>			// MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT


// TODO: reference additional headers your program requires here
#include <afxinet.h>

Und innerhalb main wird:
Code:
AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0);
aufgerufen.


mfg
umbrasaxum
 
Wie kann ich mir dir MFC's automatisch einbinden lassen?
Bei der erstellung des Arbeitsbereiches?
Im nachhinein?
 
moin


Bei Studio .Net kannst das angeben wenn du ein neues Konsolenprojekt erstellst.
Da kannst leeres Projekt erstellen ankreuzen und auch MFC verwenden.


mfg
umbrasaxum
 
moin


Da dann von Hand die oben erwähnten Header einfügen und den Befehl, vielleicht klappt es ja.


mfg
umbrasaxum
 
Zurück