<?php
$username = "loik_conio";
$password = "lakilikaliku";
$useragent = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/50.0.2661.102 Chrome/50.0.2661.102 Safari/537.36";
$cookie=$username.".txt";

@unlink(dirname(__FILE__)."/".$cookie);

$url="https://www.instagram.com/accounts/login/?force_classic_login";

$ch  = curl_init();        

$arrSetHeaders = array(
    "User-Agent: $useragent",
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language: en-US,en;q=0.5',
    'Accept-Encoding: deflate, br',
    'Connection: keep-alive',
    'cache-control: max-age=0',
);
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__)."/".$cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__)."/".$cookie);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/accounts/login/?force_classic_login");
$page = curl_exec($ch);
curl_close($ch);
#echo'<xmp><pre>';print_r($page);echo'</pre></xmp>';
#exit;
#"'<p class=\"review\">(.*?)</p>'si"
// try to find the actual login form
if (!preg_match('/<form method="POST" id="login-form" class="adjacent".*?<\/form>/is', $page, $form)) {
#if (!preg_match("'<form (.*?)<\/form>'is", $page, $form)) {
    die('Failed to find log in form!');
}

$form = $form[0];

// find the action of the login form
if (!preg_match('/action="([^"]+)"/i', $form, $action)) {
    die('Failed to find login form url');
}

$url2 = $action[1]; // this is our new post url
// find all hidden fields which we need to send with our login, this includes security tokens
$count = preg_match_all('/<input type="hidden"\s*name="([^"]*)"\s*value="([^"]*)"/i', $form, $hiddenFields);

$postFields = array();

// turn the hidden fields into an array
for ($i = 0; $i < $count; ++$i) {
    $postFields[$hiddenFields[1][$i]] = $hiddenFields[2][$i];
}

// add our login values
$postFields['username'] = $username;
$postFields['password'] = $password;   

$post = '';

// convert to string, this won't work as an array, form will not accept multipart/form-data, only application/x-www-form-urlencoded
foreach($postFields as $key => $value) {
    $post .= $key . '=' . urlencode($value) . '&';
}

$post = substr($post, 0, -1);   

preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $page, $matches);

$cookieFileContent = '';

foreach($matches[1] as $item) 
{
    $cookieFileContent .= "$item; ";
}

$cookieFileContent = rtrim($cookieFileContent, '; ');
$cookieFileContent = str_replace('sessionid=; ', '', $cookieFileContent);

$oldContent = file_get_contents($_SERVER['DOCUMENT_ROOT']."/$cookie");
$oldContArr = explode("\n", $oldContent);

if(count($oldContArr))
{
    foreach($oldContArr as $k => $line)
    {
        if(strstr($line, '# '))
        {
            unset($oldContArr[$k]);
        }
    }

    $newContent = implode("\n", $oldContArr);
    $newContent = trim($newContent, "\n");

    file_put_contents(
        dirname(__FILE__)."/".$cookie,
        $newContent
    );    
}

$arrSetHeaders = array(
    'origin: https://www.instagram.com',
    'authority: www.instagram.com',
    'upgrade-insecure-requests: 1',
    'Host: www.instagram.com',
    "User-Agent: $useragent",
    'content-type: application/x-www-form-urlencoded',
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Accept-Language: en-US,en;q=0.5',
    'Accept-Encoding: deflate, br',
    "Referer: $url",
    "Cookie: $cookieFileContent",
    'Connection: keep-alive',
    'cache-control: max-age=0',
);

$ch  = curl_init();
/*
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $arrSetHeaders);     
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);        
*/
#echo$url;
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__)."/".$cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__)."/".$cookie);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
sleep(5);
$page = curl_exec($ch);

preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $page, $matches);
$cookies = array();
foreach($matches[1] as $item) {
    parse_str($item, $cookie1);
    $cookies = array_merge($cookies, $cookie1);
}
#echo'<xmp style="border:1px red solid;background:rgba(255,0,0,0.5);"><pre>';print_r($page);echo'</pre></xmp>';
#echo"https://www.instagram.com/p/BdMZvB_hNdbxvrfwGOEbCt8rtpVuQI14XuCGUI0/?taken-by=imeldazhang";

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/imeldazhang/");
$page = curl_exec($ch);
echo'<xmp style="border:1px red solid;background:rgba(0,255,255,0.3);"><pre>';print_r($page);echo'</pre></xmp>';
$aa = explode('<script type="text/javascript">window._sharedData =', $page);
$bb = explode(';</script>', $aa[1]);
$cc = json_decode($bb[0],1);
echo'<xmp style="border:1px red solid;background:rgba(0,255,0,0.5);"><pre>';print_r($cc);echo'</pre></xmp>';
exit;
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/p/BdMZvB_hNdbxvrfwGOEbCt8rtpVuQI14XuCGUI0/?taken-by=imeldazhang");
$page = curl_exec($ch);
#echo'<xmp style="border:1px red solid;background:rgba(0,255,0,0.5);"><pre>';print_r($page);echo'</pre></xmp>';
#curl_setopt($ch, CURLOPT_REFERER, $url);
#var_dump($page);
#echo'<xmp style="border:1px red solid;background:rgba(255,255,0,0.5);"><pre>';print_r($page);echo'</pre></xmp>';
$aa = explode('<script type="text/javascript">window._sharedData =', $page);
$bb = explode(';</script>', $aa[1]);
$cc = json_decode($bb[0],1);
echo'<xmp style="border:1px red solid;background:rgba(0,255,0,0.5);"><pre>';print_r($cc);echo'</pre></xmp>';

exit;
echo"https://www.instagram.com/p/BdMZvB_hNdbxvrfwGOEbCt8rtpVuQI14XuCGUI0/?taken-by=imeldazhang";
sleep(5);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/p/BdMZvB_hNdbxvrfwGOEbCt8rtpVuQI14XuCGUI0/?taken-by=imeldazhang");
curl_setopt($ch, CURLOPT_REFERER, $url);
var_dump($page);
echo'<xmp style="border:1px red solid;background:rgba(255,0,255,0.5);"><pre>';print_r($page);echo'</pre></xmp>';
curl_close($ch);

exit;
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname( __FILE__ )."/cookie");
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname( __FILE__ )."/cookiejar");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "https://www.instagram.com/accounts/login/");
$user="loik_conio";
$pass="lakilikaliku";
$info = curl_exec($ch);
curl_close($ch);
echo'<xmp><pre>';print_r($info);echo'</pre></xmp>';
exit;

?>