programm zum seite reloaden und sms senden



  • also du meinst direkt mit socket() auf port 80 verbinden und das dann mit GET usw. erledigen?

    gibts da auch ne fertige funktion wie zb bei ftp? (da hab ich mal mit funktionen gearbeitet wo man id und pw angegeben hat und dann gings fast von alleine =))

    naja wenns sowas für http nicht gibt dann werden mir wohl unzählige stunden mit packetsniffing und lernen des http protokolls bevorstehen^^

    kennt vielleicht noch einer von euch ein gutes tutorial für http mit vielleicht einigen beispiel sources?

    danke unix-tom
    und ein schönes wochenende.

    mfg jds



  • Du sagtest doch das du dich gut mit der WINAPI bzw c auskennst.
    Da stellst Du dann die Frage ob es ein Funktion für ftp gibt? Insbesondere da du ja schon kleine Programme mit FTP geschrieben hast!

    Die Antwort ist klar NEIN.
    Es gibt kein Funktion sondern nur mehrere Methoden dafür.

    Wenn du mal bei google schaust und dort "HTTP WINAPI" oder ähnliches eingibst findest du > 1 - X links dafür.
    HTTP,FTP funktionieren nunmal über Sockets. Alles andere steht in der RFC oder in der Forensuche darüber.



  • johnnyds schrieb:

    wie würdet ihr das machen?

    Wahrscheinlich würde ich die .NET-Wundertüte bemühen.

    WebClient client = new WebClient();
    string str2 = Encoding.ASCII.GetString(client.DownloadData("http://betreffende_adresse"));
    str2 = str2.Substring(...); // wir suchen ...
    
    Sleep (ZeitinMillisekunen); // Schlafenszeit
    

    Einen SMS-Dienst habe ich leider nicht parat, vielleicht hilft dir aber dies.

    Viel Spaß beim Tüfteln.

    An meine Haare lasse ich nur Wasser, Shampoo und Brigitte.



  • also ich habs jetzt ganz normal mit c und mit sockets gemacht.
    ich mache am anfang das ganze wsastartup zeugs dann mach ich nen socket()
    dann sende ich die anfrage mit send() und warte mit recv auf die andwort.

    das alles über port 80

    es funktioniert alles wunderbar nur das problem ist das ich 404 bad request vom server zurückbekomme.

    hier ist mal die ausgabe des programms:

    Client
    CLIENT:
    WSAStartup() konnte erfolgreich ausgefuehrt werden.
    
    CLIENT:
    socket() konnte erfolgreich ausgefuehrt werden.
    
    CLIENT:
    connect() wurde erfolgreich gestartet.
    
    CLIENT:
    send() konnte erfolgreich ausgefuehrt werden.
    
     534 Daten wurden uebertragen.
    recv() wurde ausgefuehrt. Daten wurden ampfangen.
    
    Empfangene Daten:
    HTTP/1.1 400 Bad Request
    Date: Mon, 02 Mar 2009 16:56:20 GMT
    Server: Apache
    Vary: Accept-Encoding
    Content-Encoding: gzip
    Content-Length: 189
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    
    CLIENT:
    closesocket() wurde ausgefuehrt. Socket is geschlossen.
    
    CLIENT:
    WSACleanup() wurde ausgefuehrt. Alles wieder sauber *gg*.
    
    Press any key to continue
    

    und das ist der string den ich via send an den server sende:

    char buffer[] = "GET /forum/posting-var-mode-is-reply-and-t-is-235343.html Host: www.c-plusplus.net\r\nUser-Agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.0.6) Gecko/2009020911 Ubuntu/8.10 (intrepid) Firefox/3.0.6\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\nAccept-Encoding: gzip,deflate\r\nAccept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 300\r\nConnection: keep-alive\r\nReferer: http://www.c-plusplus.net/forum/posting-var-mode-is-reply-and-t-is-235343.html\r\n";
    

    vielleicht könnte mir jemand ein tutorial oder sowas vorschlagen wo ich sehen kann was man bei einer GET oder POST abfrage alles mitsenden muss weil das was in dem string steht hab ich nur aus einer laufenden ethereal sitzung zusammengefrimelt...

    mfg jds



  • Hallo,

    ich habe die HTTP - RFCs soweit gelesen aber immer noch das Problem:

    ...
    strcat(netbuf, "Keep-Alive: 300\r\n");
    strcat(netbuf, "Connection: keep-alive\r\n");
    ...

    das der Server in der Antowrt "Connection: Close" sendet und die
    Verbindung trennt.

    Ich weiß, der Server kann aber mit persistenten Verbindungen um-
    gehen. Daran liegts nicht. Ansonsten kommt eine "200" vom Server
    und auch die erwrtete Antwort. Der Rest scheint also zu stimmen.

    Wie nun weiter ?

    Grüße RB



  • Nimm curl...



  • oder die Ursache suchen ...

    http://www.io.com/~maus/HttpKeepAlive.html

    KeepAlive and POST

    ich sende jetzt
    // http-header: POST
    ...
    Connection: Keep-Alive\r\n
    Content-Length: 2\r\n
    \r\n

    Wenn Keep-Alive, dann muss Content-Length gesendet werden.
    Das war mir schon klar nur stand bei mir 0 drinn 😉

    Most servers deal with this in the latter way, but there's
    no way to know how a server will handle it without testing.



  • Ich werde dir hier aber sicher keine Anleitung geben wie du unsere Seite hier automatisiert aufrufst.
    Dies ist auch denke ich von Marcus nicht erwünscht.



  • Tom, ich denke mal Du meinst mich.

    Nein, mit dem Forum hat das nix zu tun - warum auch.
    Ich will ein XMLRPC ausführen der in einer EventQueue
    endet - der Server also die Verbindung offen halten muss.

    In C# hab ich auch ein funktionierendes Beispiel. Leider
    sehe ich aber da mittels HTTPS übertragen nicht so recht
    was die HttpRequest Klasse eigentlich genau sendet.

    Konkret geht es um das hier:
    http://wiki.secondlife.com/wiki/Message_System_and_Capabilities

    Ein funktionierendes Bsp findet man hier
    libsecondlife.org

    nix forum 👍



  • Ich meine den Threadstarter.


Anmelden zum Antworten