Как мне преобразовать эту команду cURL в PHP (libcurl)? - PullRequest
0 голосов
/ 07 июня 2010

В продолжение этого вопроса , какие PHP-операторы мне нужны для этого:

curl -is -F 'J:A-login=BTDT::Action::Login' -F 'J:A:F-address-login=EMAILADDRESS' -F 'J:A:F-password-login=PASSWORD' http://hiveminder.com/splash | grep -o 'JIFTY_SID_HIVEMINDER=[0-9a-f]\+'

Флаги и поля все еще загадочны, и сейчас у меня нет времени плавать в документах, чтобы выяснить, как это переводится. Хотя я, по крайней мере, понимаю часть | grep ....

1 Ответ

1 голос
/ 07 июня 2010

Для этого вам не нужен локон:

$data = array(
    "J:A-login"             => 'BTDT::Action::Login',
    "J:A:F-address-login"   => 'EMAILADDRESS',
    "J:A:F-password-login"  => 'PASSWORD',
);
$context = stream_context_create(
    array( 
        'http' => array( 
            'method'  => 'POST', 
            'header'  => "Content-type: application/x-www-form-urlencoded\r\n",
            'content' => http_build_query($data), 
            'timeout' => 10, 
        ), 
    )
);

$ret = file_get_contents('http://hiveminder.com/splash', false, $context);
if (preg_match('/JIFTY_SID_HIVEMINDER=[0-9a-f]+/m', $ret, $matches)) {
    //see $matches[0]
}

Обратите внимание, что для этого могут потребоваться изменения; при проверке формы на http://hiveminder.com/splash, кажется, что требуется нечто более сложное, чем то, что использует ваша линия скручивания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...