Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

przykład do biblioteki sieciowej

Ostatnio zmodyfikowano 2009-03-29 13:14
Autor Wiadomość
pekfos
Temat założony przez niniejszego użytkownika
przykład do biblioteki sieciowej
» 2009-03-23 17:56:15
mógłby ktoś podać jakiś przykład do (dowolnej) biblioteki sieciowej,
taki który odczytywałby treść pliku zamieszczonego w internecie?
P-4968
DejaVu
» 2009-03-23 18:01:52
Patrzyłeś na  bibliotekę Curl'a?
P-4969
pekfos
Temat założony przez niniejszego użytkownika
» 2009-03-23 18:04:04
nie
P-4970
pekfos
Temat założony przez niniejszego użytkownika
» 2009-03-24 11:00:53
znalazłem jeden przykład do curl'a tyle że w PHP
<?php
// Skrypt łączy się z adresem http://pl.wikipedia.org/w/index.php?title=CURL&action=edit
 
$hand = curl_init();
 
curl_setopt($hand, CURLOPT_URL, 'http://pl.wikipedia.org/w/index.php');
curl_setopt($hand, CURLOPT_POST, 1);
curl_setopt($hand, CURLOPT_POSTFIELDS, 'title=CURL&action=edit');
curl_exec($hand);
 
curl_close($hand);
?>

//edit:

C/C++
#include <stdio.h>
#include <iostream>
#include <curl/curl.h>
#include  <string>
using namespace std;


int main()
{
    CURL * curl;
    CURLcode res;
    curl = curl_easy_init();
    if( curl ) {
        curl_easy_setopt( curl, CURLOPT_URL, "http://www.wp.pl" );
       
        curl_easy_perform( curl );
        curl_easy_cleanup( curl );
    }
   
    getchar();
    return 0;
}

to już coś. poszukam dalej to może znajdę dokumentację

//edit2:
http://curl.haxx.se/libcurl/c/libcurl-tutorial.html
jakiś kurs do curl'a ale mało z niego rozmiem :(
P-4987
DejaVu
» 2009-03-24 16:11:53
Generalnie biblioteka Curl'a jest 'trudna' do nauki przez to jak dokumentacja jest do tego napisana, ale działa całkiem dobrze :)
P-4988
pekfos
Temat założony przez niniejszego użytkownika
» 2009-03-24 18:34:08
no tak, dokumentacja łatwa nie jest.. Sądząc po udanym programie
watchDDT wiesz jak odczytać plik z internetu za pomocą curl'a.
potrzebuje tylko przykładu z kilkoma krótkimi komentarzami
który odczytywał by treść jakiegoś pliku.
P-4992
DejaVu
» 2009-03-24 18:40:39
To jest fragment pobierający kod - jest tu trochę śmieci. Jak uda Ci się zrobić, to wklej 'oczyszczony' kod, który realizuje to co chciałeś.

C/C++
int CDatabase::ReadCurlData( void * buffer, size_t size, size_t nmemb, void * stream )
{
    std::string * tString =( std::string * ) stream;
    tString->append(( char * ) buffer, size * nmemb );
    return( size * nmemb );
}

bool CDatabase::IsUpdated()
{
    if( m_IsLocked == false )
    {
        CURL * curl;
        CURLcode res;
        curl = curl_easy_init();
        if( curl )
        {
            m_NewData.clear();
            curl_easy_setopt( curl, CURLOPT_URL, gTarget.c_str() );
            curl_easy_setopt( curl, CURLOPT_WRITEFUNCTION, ReadCurlData );
            curl_easy_setopt( curl, CURLOPT_WRITEDATA, & m_NewData );
            curl_easy_setopt( curl, CURLOPT_VERBOSE, 0 );
            curl_easy_setopt( curl, CURLOPT_TIMEOUT, 5 );
            curl_easy_setopt( curl, CURLOPT_NOSIGNAL, 1 );
            res = curl_easy_perform( curl );
            if( CURLE_OK != res ) m_NewData = m_OldData;
           
            curl_easy_cleanup( curl );
            if( m_NewData.find( "-Jun-", 0 ) != std::string::npos ) m_NewData = m_NewData.replace( m_NewData.find( "-Jun-", 0 ), 5, "-cze-" );
           
            if( m_NewData.find( "-May-", 0 ) != std::string::npos ) m_NewData = m_NewData.replace( m_NewData.find( "-May-", 0 ), 5, "-maj-" );
            //      MessageBox(NULL,m_NewData.c_str(),"bufor",MB_OK);
        }
        return( m_NewData != m_OldData );
    } else return( false );
   
}
P-4993
pekfos
Temat założony przez niniejszego użytkownika
» 2009-03-24 18:49:19
hmm.. nic nie rozumiem z tego kodu, chyba dużo
jest w nim tych 'śmieci'
P-4994
« 1 » 2 3
  Strona 1 z 3 Następna strona