如何用php curl获取输入值?

时间:2017-09-14 14:59:59

标签: php curl

İ想用php curl登录instagram。当我尝试在下面登录代码总是在改变所以我必须得到这个输入值:

<input type="hidden" name="csrfmiddlewaretoken" value="uCbmYHcQLe18VAvVFXbfyPcS5kXtCuuE">

我的卷曲代码是:

<?php
    $url = "https://www.instagram.com/accounts/login/?force_classic_login";
    $values = "csrfmiddlewaretoken=" + $key + "&username=myusername&password=mypassword";
    $key = "";

    //foreach input name csrfmiddlewaretoken = $key

    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($curl, CURLOPT_POST, true);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $values);
    $veri = curl_exec($curl);
    curl_close($curl);
    echo $veri;
?>

2 个答案:

答案 0 :(得分:0)

试试这个:

$veri = curl_exec($curl);    // That $veri contains the curl response into it

$data = json_decode($veri, true);    // Convert the response into an array

现在$data是一个数组,您可以使用其索引访问此数组中的值。

答案 1 :(得分:0)

Man,使用分隔符<input分解响应内容,然后获取数据结果。

做这样的事情:

$result = explode('<input type="hidden" name="csrfmiddlewaretoken" value="', $file_content);
$result = explode('">', $result[1] );
$input_value = $result[0];
$input_value = $result[0];

我希望这个帮助