<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Netzwerkproblem : möchte antwort von nem php-skript]]></title><description><![CDATA[<p>also ich habe vor eine Nummer und ein Kennwort zu einem PHP-Skript zu schicken, dass auf einem server-liegt. dieses skript vergleicht die daten mit einer datenbank und gibt ein OK oer FEHLER zurück...<br />
Die Anfrage sieht dann in etwa so aus :</p>
<p><a href="http://eine-Seite.de/?id=100000000&amp;pw=test" rel="nofollow">http://eine-Seite.de/?id=100000000&amp;pw=test</a></p>
<p>die Antwort sieht so aus :</p>
<p>OK;ee777243d97d8e3cf48bb9416498e836;100000001;100000002;</p>
<p>das ganze soll mit sockets geschehen...</p>
<p>ich hab es schon mit diesem quelltext probiert :</p>
<pre><code>/* httpget.c
 * Demoprogramm zur Programmierung von Netzwerkclients
 * Es wird ein GET request via http an einen Webserver 
 * gesendet und das Ergebnis auf der Konsole ausgegeben. */
#include &lt;stdio.h&gt;
#include &lt;errno.h&gt;

#ifdef _WIN32
/* Headerfiles für Windows */
#include &lt;winsock.h&gt;
#include &lt;io.h&gt;

#else
/* Headerfiles für Unix/Linux */
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;netdb.h&gt;
#define closesocket(s) close(s)
#endif

/* http requests werden normalerweise auf Port 80 
 * vom Server entgegengenommen */
#define HTTP_PORT 80

/****************** MAIN *********************/
int main( int argc, char **argv)
{
    struct sockaddr_in server;
    struct hostent *host_info;
    unsigned long addr;
    int sock;
    char buffer[8192];
    int count;

#ifdef _WIN32  
    /* Initialisiere TCP für Windows (&quot;winsock&quot;) */
    short wVersionRequested;
    WSADATA wsaData;
    wVersionRequested = MAKEWORD (1, 1);
    if (WSAStartup (wVersionRequested, &amp;wsaData) != 0) {
        fprintf( stderr, &quot;Failed to init windows sockets\n&quot;);
        exit(1);
    }
#endif

    /* Sind die erforderlichen Kommandozeilenargumente vorhanden? */
    if (argc != 3) {
        fprintf( stderr, &quot;usage: httpget server file\n&quot;);
        exit(1);
    }

    /* Erzeuge das Socket */
    sock = socket( PF_INET, SOCK_STREAM, 0);
    if (sock &lt; 0) {
        perror( &quot;failed to create socket&quot;);
        exit(1);
    }

    /* Erzeuge die Socketadresse des Servers 
     * Sie besteht aus Typ, IP-Adresse und Portnummer */
    memset( &amp;server, 0, sizeof (server));
    if ((addr = inet_addr( argv[1])) != INADDR_NONE) {
        /* argv[1] ist eine numerische IP-Adresse */
        memcpy( (char *)&amp;server.sin_addr, &amp;addr, sizeof(addr));
    }
    else {
        /* Wandle den Servernamen in eine IP-Adresse um */
        host_info = gethostbyname( argv[1]);
        if (NULL == host_info) {
            fprintf( stderr, &quot;unknown server: %s\n&quot;, argv[1]);
            exit(1);
        }
        memcpy( (char *)&amp;server.sin_addr, host_info-&gt;h_addr, host_info-&gt;h_length);
    }

    server.sin_family = AF_INET;
    server.sin_port = htons( HTTP_PORT);

    /* Baue die Verbindung zum Server auf */
    if ( connect( sock, (struct sockaddr*)&amp;server, sizeof( server)) &lt; 0) {
        perror( &quot;can't connect to server&quot;);
        exit(1);
    }

    /* Erzeuge und sende den http GET request */
    sprintf( buffer, &quot;GET %s HTTP/1.0\n\n&quot;, argv[2]);
    send( sock, buffer, strlen( buffer), 0);

    /* Hole die Serverantwort und gib sie auf Konsole aus */
    do {
        count = recv( sock, buffer, sizeof(buffer), 0);
        write( 1, buffer, count);
    }
    while (count &gt; 0);

    /* Schließe Verbindung und Socket */
    closesocket( sock);
    return count;
}
</code></pre>
<p>und dann mit</p>
<p>httpget <a href="http://eine-Seite.de" rel="nofollow">http://eine-Seite.de</a> /?id=100000000&amp;pw=test</p>
<p>abgefragt. Das Programm hat mir dann aber nur Mist ausgegeben, kann mir jemand sagen, was falsch ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/110115/netzwerkproblem-möchte-antwort-von-nem-php-skript</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 16:40:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/110115.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 May 2005 15:12:39 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Netzwerkproblem : möchte antwort von nem php-skript on Tue, 17 May 2005 15:12:39 GMT]]></title><description><![CDATA[<p>also ich habe vor eine Nummer und ein Kennwort zu einem PHP-Skript zu schicken, dass auf einem server-liegt. dieses skript vergleicht die daten mit einer datenbank und gibt ein OK oer FEHLER zurück...<br />
Die Anfrage sieht dann in etwa so aus :</p>
<p><a href="http://eine-Seite.de/?id=100000000&amp;pw=test" rel="nofollow">http://eine-Seite.de/?id=100000000&amp;pw=test</a></p>
<p>die Antwort sieht so aus :</p>
<p>OK;ee777243d97d8e3cf48bb9416498e836;100000001;100000002;</p>
<p>das ganze soll mit sockets geschehen...</p>
<p>ich hab es schon mit diesem quelltext probiert :</p>
<pre><code>/* httpget.c
 * Demoprogramm zur Programmierung von Netzwerkclients
 * Es wird ein GET request via http an einen Webserver 
 * gesendet und das Ergebnis auf der Konsole ausgegeben. */
#include &lt;stdio.h&gt;
#include &lt;errno.h&gt;

#ifdef _WIN32
/* Headerfiles für Windows */
#include &lt;winsock.h&gt;
#include &lt;io.h&gt;

#else
/* Headerfiles für Unix/Linux */
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;netdb.h&gt;
#define closesocket(s) close(s)
#endif

/* http requests werden normalerweise auf Port 80 
 * vom Server entgegengenommen */
#define HTTP_PORT 80

/****************** MAIN *********************/
int main( int argc, char **argv)
{
    struct sockaddr_in server;
    struct hostent *host_info;
    unsigned long addr;
    int sock;
    char buffer[8192];
    int count;

#ifdef _WIN32  
    /* Initialisiere TCP für Windows (&quot;winsock&quot;) */
    short wVersionRequested;
    WSADATA wsaData;
    wVersionRequested = MAKEWORD (1, 1);
    if (WSAStartup (wVersionRequested, &amp;wsaData) != 0) {
        fprintf( stderr, &quot;Failed to init windows sockets\n&quot;);
        exit(1);
    }
#endif

    /* Sind die erforderlichen Kommandozeilenargumente vorhanden? */
    if (argc != 3) {
        fprintf( stderr, &quot;usage: httpget server file\n&quot;);
        exit(1);
    }

    /* Erzeuge das Socket */
    sock = socket( PF_INET, SOCK_STREAM, 0);
    if (sock &lt; 0) {
        perror( &quot;failed to create socket&quot;);
        exit(1);
    }

    /* Erzeuge die Socketadresse des Servers 
     * Sie besteht aus Typ, IP-Adresse und Portnummer */
    memset( &amp;server, 0, sizeof (server));
    if ((addr = inet_addr( argv[1])) != INADDR_NONE) {
        /* argv[1] ist eine numerische IP-Adresse */
        memcpy( (char *)&amp;server.sin_addr, &amp;addr, sizeof(addr));
    }
    else {
        /* Wandle den Servernamen in eine IP-Adresse um */
        host_info = gethostbyname( argv[1]);
        if (NULL == host_info) {
            fprintf( stderr, &quot;unknown server: %s\n&quot;, argv[1]);
            exit(1);
        }
        memcpy( (char *)&amp;server.sin_addr, host_info-&gt;h_addr, host_info-&gt;h_length);
    }

    server.sin_family = AF_INET;
    server.sin_port = htons( HTTP_PORT);

    /* Baue die Verbindung zum Server auf */
    if ( connect( sock, (struct sockaddr*)&amp;server, sizeof( server)) &lt; 0) {
        perror( &quot;can't connect to server&quot;);
        exit(1);
    }

    /* Erzeuge und sende den http GET request */
    sprintf( buffer, &quot;GET %s HTTP/1.0\n\n&quot;, argv[2]);
    send( sock, buffer, strlen( buffer), 0);

    /* Hole die Serverantwort und gib sie auf Konsole aus */
    do {
        count = recv( sock, buffer, sizeof(buffer), 0);
        write( 1, buffer, count);
    }
    while (count &gt; 0);

    /* Schließe Verbindung und Socket */
    closesocket( sock);
    return count;
}
</code></pre>
<p>und dann mit</p>
<p>httpget <a href="http://eine-Seite.de" rel="nofollow">http://eine-Seite.de</a> /?id=100000000&amp;pw=test</p>
<p>abgefragt. Das Programm hat mir dann aber nur Mist ausgegeben, kann mir jemand sagen, was falsch ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/790226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/790226</guid><dc:creator><![CDATA[Maikel]]></dc:creator><pubDate>Tue, 17 May 2005 15:12:39 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerkproblem : möchte antwort von nem php-skript on Tue, 17 May 2005 22:32:46 GMT]]></title><description><![CDATA[<p>Hi</p>
<p>Wie erfolgt denn der Verbindungsaufbau von der Serverseite ?<br />
Ich bin mir nicht sicher , aber muss der server nicht die Socket-Verbindung<br />
mit accept() aufbauen? Woher soll er wissen über welchen Socket und Port<br />
er kommunizieren soll ?</p>
<p>Warum holst Du dir die Daten nicht direkt aus der Datenbank?</p>
<p>Linus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/790282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/790282</guid><dc:creator><![CDATA[linus]]></dc:creator><pubDate>Tue, 17 May 2005 22:32:46 GMT</pubDate></item><item><title><![CDATA[Reply to Netzwerkproblem : möchte antwort von nem php-skript on Wed, 18 May 2005 13:08:58 GMT]]></title><description><![CDATA[<p>so hat sich schon alles erledigt...<br />
der server brauch garnichts machen, weil er macht ja so gesehen nichts anderes als wenn man mit nem browser auf das skript zugreifen würde...<br />
hat sich jetzt aber alles erledigt, ich musste die korrekte IP angeben...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/790732</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/790732</guid><dc:creator><![CDATA[Maikel]]></dc:creator><pubDate>Wed, 18 May 2005 13:08:58 GMT</pubDate></item></channel></rss>