txt Datei

kakafan

Grünschnabel
Gibt es eine möglichkeit den text einer .txt datei das im www hochgeladen ist mit Hilfe von C++ bekommen?

Danke schonmal :D
 
Gibt es haufenweise, von einfachen aber unzuverlässigen Einzeilern, über Sockets oder .NET bis zu WinInet.
Das Problem ist nur, dass du an beiden Enden ein passendes Script brauchst, oder anders, es kommt ganz drauf an, was der Server für Möglichkeiten bietet.
Hast du eine "normale" Homepage auf der nur PHP läuft, geht es mit WinInet wohl am einfachsten.

Wie das genau geht findest du bei MSDN unter Suchbegriff "WinInet".
 
Falls du dich doch für winInet entscheidest; so schwer ist es nicht:
C++:
#include <wininet.h>

string ReadURL(string pURL)
{
    HINTERNET hInternet = InternetOpen("Microsoft Internet Explorer", INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0);
    
    if(!hInternet) return "-2";
    
    //URL öffnen
    const char* g;
    g = pURL.c_str();
    HINTERNET hURL = InternetOpenUrl(hInternet, g, 0, 0, INTERNET_FLAG_RELOAD, 0);
    
    if(!hURL)
    {
             CloseHandle(hInternet);
             return "-3";
    }
    //Daten einlesen
    DWORD numbytesread;
    char szBuf[1024]; 
    int cursor;
    do
    {
         InternetReadFile(hURL,&szBuf,512,&numbytesread);
         cursor += numbytesread;
    }
    while(numbytesread);
    CloseHandle(hURL);
    CloseHandle(hInternet);
    
    return szBuf;  //hier ist der Inhalt der Internetseite
        
}

lg kickerxy
 
C++:
#include <wininet.h>
 
const std::string readURL(std::string const& request_url)
{
    const ::HINTERNET internet_connection(::InternetOpenA("Microsoft Internet Explorer", INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0));
   if (!internet_connection) throw std::runtime_error("connection error");
   
    const ::HINTERNET url(::InternetOpenUrlA(internet_connection, request_url.c_str(), 0, 0, INTERNET_FLAG_RELOAD, 0));
    if (!url) 
    {
             ::CloseHandle(internet_connection);
            throw std::invalid_argument("invalid url");
    }
    // ...
}
was hast du denn für ne fehlerbehandlungsart :P ... eh man achte auch auf das A bei Funktionen mit Zeichenketten und auf const ...
 
Falls du dich doch für winInet entscheidest; so schwer ist es nicht:
C++:
#include <wininet.h>

string ReadURL(string pURL)
{
    HINTERNET hInternet = InternetOpen("Microsoft Internet Explorer", INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0);
    
    if(!hInternet) return "-2";
    
    //URL öffnen
    const char* g;
    g = pURL.c_str();
    HINTERNET hURL = InternetOpenUrl(hInternet, g, 0, 0, INTERNET_FLAG_RELOAD, 0);
    
    if(!hURL)
    {
             CloseHandle(hInternet);
             return "-3";
    }
    //Daten einlesen
    DWORD numbytesread;
    char szBuf[1024]; 
    int cursor;
    do
    {
         InternetReadFile(hURL,&szBuf,512,&numbytesread);
         cursor += numbytesread;
    }
    while(numbytesread);
    CloseHandle(hURL);
    CloseHandle(hInternet);
    
    return szBuf;  //hier ist der Inhalt der Internetseite
        
}

lg kickerxy

Die Antwort sieht zwar nicht schlecht aus, ist aber auf falsch Weg ausgerichtet.

Ich denke, der Poster will eine datei auf den Server hochschießen. Für sowas kann evtl. InternetWriteFile statt InternetReadFile helfen
 
"Gibt es eine möglichkeit den text einer .txt datei das im www hochgeladen ist mit Hilfe von C++ bekommen?"

Ausserdem ist das Thema 4 Monate alt.
 
Zurück