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

Program pobierający z wrzuta.pl

Ostatnio zmodyfikowano 2009-10-04 13:28
Autor Wiadomość
Riant
Temat założony przez niniejszego użytkownika
Program pobierający z wrzuta.pl
» 2009-10-04 11:55:02
Witam.
Znalazłem kod programu do ściągania z wrzuta.pl na haxite.
Jako że zastosowany algorytm jest przestarzały, przerobiłem go:

C/C++
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;

typedef HRESULT( * P_URLDownloadToFile )(
LPUNKNOWN pCaller,
LPCTSTR szURL,
LPCTSTR szFileName,
DWORD dwReserved,
void *
);
/*****************************************/
string adres_down;
string adres_new;
string skladowe[ 6 ];
/****************************************/
string zmien_adres( string adres_down )
{
    int x, dlugosc, y = 0;
    string bufor, rodzaj;
   
    for( x = 1; x <= adres_down.length(); ++x )
    {
        if( adres_down[ x ] == '/' )
        {
            skladowe[ y ] = bufor;
            bufor = "";
            y++;
        }
        else
        {
            bufor = bufor + adres_down[ x ];
           
        }
    }
    cout << bufor;
    skladowe[ y ] = bufor;
    if( skladowe[ 3 ] == "film" ) rodzaj = "/vid";
   
    if( skladowe[ 3 ] == "audio" ) rodzaj = "/audio";
   
    adres_new = "http://" + skladowe[ 2 ] + rodzaj + "/sr/f/" + skladowe[ 4 ] + skladowe[ 5 ];
   
    return adres_new;
}
////////////////////////////////////////////////////////////////
P_URLDownloadToFile _URLDownloadToFile;

int main()
{
    system( "color F0" );
    string adres;
    string plik;
    while( 1 )
    {
        cout << "Adres(z http://www.):";
        cin >> adres;
        cout << endl;
        cout << "Wpisz nazwe pliku: ";
        cin >> skladowe[ 4 ];
        plik = skladowe[ 4 ] + ".mp3";
       
       
        zmien_adres( adres );
       
        cout << "+ Link wzgledny:" << adres_new << endl << "        Download... \n\n";
       
        HRESULT uRet = 1;
        HINSTANCE hLib;
        HMODULE urlmon = LoadLibrary( "urlmon.dll" );
        if( urlmon )
             _URLDownloadToFile =( P_URLDownloadToFile ) GetProcAddress( urlmon, "URLDownloadToFileA" );
       
       
        uRet = _URLDownloadToFile( NULL, adres_new.c_str(), plik.c_str(), 0, NULL );
       
        if( uRet == S_OK )
        { std::cout << "\nPobieranie zakonczone pomyslnie!:))\n" << endl; }
        else { std::cout << "\nBlad pobierania!\n" << endl; break; }
       
       
        FreeLibrary( hLib );
    }
    getch();
}

Program jest niedokończony jak widać, jest kilka niepotrzebnych już linijek.
Ale chciałem tylko sprawdzić, czy działa. Kod zoptymalizuję potem.
Lecz niestety, po wklejeniu linku z wrzuta.pl zaczyna się pobieranie, praktycznie
od razu wyskakuje komunikat "Pobieranie zakonczone pomyslnie!" i niestety tylko 24kb są pobierane. Nie wiem co jest nie tak. Może ktoś z Was wie. ;-)
P-10625
malan
» 2009-10-04 12:55:30
Mi się wydaje, że coś jest nie tak z tymi rodzaj. Popatrz na necie, czy coś się nie zmieniło.
Mi np. obrazek pobrało:
Adres(z http://www.):http://plax2.wrzuta.pl/obraz/00Ec5Tk6iqm/

Wpisz nazwe pliku: boska_pampita
 + Link wzgledny:http://plax2.wrzuta.pl/sr/f/00Ec5Tk6iqm
        Download...

Pobieranie zakonczone pomyslnie!:))
..., ale mp3 już nie ;p.
P-10628
Riant
Temat założony przez niniejszego użytkownika
» 2009-10-04 13:28:09
Dzięki malan! Naprowadziłeś mnie na rozwiązanie. :D
I miałeś rację. Był źle przerabiany link.
Dzięki za pomoc. :D Teraz biorę się za porządkowanie reszty kodu.
P-10629
« 1 »
  Strona 1 z 1