ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby (https://forum.antichat.io/forumdisplay.php?f=24)
-   -   Антикапча C++ Builder (https://forum.antichat.io/showthread.php?t=200003)

Zuldrak 28.04.2010 13:27

Антикапча C++ Builder
 
Может кто нить будь дать простой пример работы с AC в билдере,

Тупо отправка капчи - Ожидание - Прием

Спасибо

Желательно пример с Id Http а не на сокетах

Компилятор желательно C++ Builder 6 или 9

M_script_ 29.04.2010 12:58

PHP код:

//---------------------------------------------------------------------------
String CheckCaptcha(String filename, String apikey, bool is_phrase, bool is_regsense, bool is_numeric, int min_len, int max_len)
{
    
String sFtype = "image/pjpeg";
    
String sTmpstr = "";
    
String sCaptcha_id = "";
    
TIdMultiPartFormDataStream *multi = new TIdMultiPartFormDataStream;
    
TIdHTTP *http = new TIdHTTP(0);
    
multi->AddFormField("method", "post");
    
multi->AddFormField("soft_id", "5");    
    
multi->AddFormField("key", apikey);
    
multi->AddFile("file", filename, sFtype);
    if(
is_phrase)
        
multi->AddFormField("phrase", "1");
    if(
is_regsense)
        
multi->AddFormField("regsense", "1");
    if(
is_numeric)
        
multi->AddFormField("numeric", "1");
    if(
min_len)
        
multi->AddFormField("min_len", IntToStr(min_len));
    if(
max_len)
        
multi->AddFormField("max_len", IntToStr(max_len));

    
sTmpstr = http->Post("http://antigate.com/in.php", multi);

    if(
sTmpstr.Pos("ERROR_"))
    {
        
delete multi;
        
delete http;
        return 
sTmpstr;
    }
    if(
sTmpstr.Pos("OK"))
    {
        
sCaptcha_id = sTmpstr.SubString(sTmpstr.Pos("|") + 1, sTmpstr.Length() - sTmpstr.Pos("|"));
    }
    if(
sCaptcha_id == "")
    {
        
delete multi;
        
delete http;
        return 
"ERROR: bad captcha id!";
    }
    for(
int i = 0; i < 12; i++)
    {
        
Sleep(5000);

        
sTmpstr = http->Get("http://antigate.com/res.php?key="+apikey+"&action=get&id="+sCaptcha_id);

        if(
sTmpstr.Pos("ERROR_"))
        {
            
delete multi;
            
delete http;
            return 
sTmpstr;
        }
        if(
sTmpstr.Pos("OK|"))
        {
            
delete multi;
            
delete http;
            return 
sTmpstr.SubString(sTmpstr.Pos("|") + 1, sTmpstr.Length() - sTmpstr.Pos("|"));
        }
    }
    
delete multi;
    
delete http;
    return 
"ERROR_TIMEOUT!";
}
//--------------------------------------------------------------------------- 



Время: 17:57