External API (добавление заданий с внешних скриптов(доргены и т.п.))

Тема в разделе "A-Poster 2 - форум поддержки", создана пользователем Support, 5 июн 2015.

  1. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    1.503
    Симпатии:
    1.166
    Код на perl:
    Код:
    #!/usr/bin/perl
    use LWP::UserAgent;
    
    my $ua = LWP::UserAgent->new();
    my $res = $ua->post('http://domain.com/a-poster/external.pl', Content =>
    '<password>superpass</password>
    <base>base.txt</base>
    <tasktype>spam</tasktype>
    <spamtype>simple</spamtype>
    <myfuncbulk>1</myfuncbulk>
    <myfuncfile>my_function_simple.pl</myfuncfile>
    <checkpost>0</checkpost>
    <checkpostminpr>0</checkpostminpr>
    <checkpostmaxlinks>0</checkpostmaxlinks>
    <saveparsed>0</saveparsed>
    <readonlyheader>0</readonlyheader>
    <savegood>0</savegood>
    <saveforcheck>0</saveforcheck>
    <proxy>uproxy</proxy>
    <log>yes</log>
    <start>0</start>
    <end>0</end>
    <name>TestName</name>
    <mail>[email protected]</mail>
    <url>http://test.com</url>
    <comment>Test comment</comment>
    <quantification>1</quantification>');
    
    if($res->is_success && $res-content =~ /^ok/)
    {
        print "Added ok\n";
    };
    
    
    Код на php:
    PHP:
    <?php
    $fp 
    fsockopen("superdomain.com"80$errno$errstr30);
    if (
    $fp)
    {
        
    $post =
    "<password>superpass</password>
    <base>base.txt</base>
    <tasktype>spam</tasktype>
    <spamtype>simple</spamtype>
    <myfuncbulk>1</myfuncbulk>
    <myfuncfile>my_function_simple.pl</myfuncfile>
    <checkpost>0</checkpost>
    <checkpostminpr>0</checkpostminpr>
    <checkpostmaxlinks>0</checkpostmaxlinks>
    <saveparsed>0</saveparsed>
    <readonlyheader>0</readonlyheader>
    <savegood>0</savegood>
    <saveforcheck>0</saveforcheck>
    <proxy>uproxy</proxy>
    <log>yes</log>
    <start>0</start>
    <end>0</end>
    <name>TestName</name>
    <mail>[email protected]</mail>
    <url>http://test.com</url>
    <comment>Test comment</comment>
    <quantification>1</quantification>"
    ;

        
    $out "POST /a-poster/external.pl HTTP/1.1\r\n";
        
    $out .= "Host: superdomain.com\r\n";
        
    $out .= "Content-length: " strlen($post) . "\r\n";
        
    $out .= "Connection: Close\r\n\r\n";
        
    $out .= $post;

        
    fwrite($fp$out);
        while(!
    feof($fp))
        {
            
    fgets($fp128);
        }
        
    fclose($fp);
    }
    ?>
    Суть - отправление некоего подобия xml'ки пост запросом на скрипт external.pl. В случае удачного добавления скрипт отдаст 'ok'.

    Параметры xml'ки повторяют таковые при добавлении задания(New task):
    • password - пароль на а-постер
    • base - выбираем базу
    • tasktype - тип таска, значения: check, spam, checkactive
    • spamtype - тип спама, значения: simple, simplebulk, queue, myfunc
    • myfuncbulk - количество сообщений подряд для My function
    • myfuncfile - файл функции
    • checkpost - проверка на пост, значения: 1, 0
    • saveparsed - сохранять распаршенную базу, значения: 1, 0
    • readonlyheader - 1,0
    • savegood - 1,0
    • proxy - эквивалентно параметрам из админки(uproxy - Use proxy, uproxy2 - Use proxy only for posting, uproxy3 - Use proxy only for get form and posting, noproxy - No proxy)
    • log - yes, no
    Остальное описывать не имеет смысла.
     

Поделиться этой страницей