Curl do command line curl rubrika: Programování: PHP

2 petrtaborsky
položil/-a 29.8.2013

Ahoj.
Netusite, zda existuje nejaka PHP knihovna, ktera z PHPkoveho CURL vygeneruje retezec do command line ? Neco ve smyslu:

$curl = curl_init();
//vsechny mozne prikazy, certifikaty, klice, data
//tady neco, do ceho strcim $curl a vrati mi to retezec, kterym to zavolam z command line

Jde mi o to kvuli jednomu projektu, kde porad dokazujeme, ze neco nefunguje jak ma a oni se ptaji, jak to volame a misto vypisu by pak stacilo jen tohle + pripadne soubory k SSL.

odkaz
5 vaclav.sir
odpověděl/-a 30.8.2013

Myslím, že neexistuje.

Na jednom projektu jsem teď místo curl_ funkcí použil velmi jednoduchý proxy objekt (v testech ho nahrazuju mock objektem): https://github.com/Clevis/utils-functions-proxy

Stejně tak by šel snadno nahradit implementací, která by každé volání logovala a výstupem by mohl být PHP soubor obsahující pouze použitá curl_ volání. Asi nějak takto:

class LoggingFunctionsProxy
{
 
    private $prefix;
    private $log = '';
 
    public function __construct($prefix = '')
    {
        $this->prefix = $prefix;
    }
 
    public function saveLog($fileName)
    {
        file_put_contents($fileName, $this->log);
    }
 
    function __call($name, $arguments)
    {
        $functionName = $this->prefix . $name;
        $this->log .= $functionName . '(';
        $this->log .= implode(
            ', ',
            array_map(
                function ($argument) { return var_export($argument, TRUE); },
                $arguments
            )
        );
        $this->log .= ");\n";
 
        return call_user_func_array($functionName, $arguments);
    }
 
}

Nebo odchytávat HTTP komunikaci, jak tady zaznělo.

Pro zobrazení všech 2 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.