рдпрд╣ рд╕рдм рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реБрдЖ рдХрд┐ рдореИрдВ рдкреВрд░реЗ рджрд┐рди рдСрдЯреЛ рдкреНрд░рдХрд╛рд╢рди рд╕реЗрд╡рд╛рдУрдВ рдХреА рдЦреЛрдЬ рдФрд░ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЦрд░реНрдЪ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЗрдВрд╕реНрдЯрд╛рдЧреНрд░рд╛рдо рдкрд░ рдПрдХ рдЪреИрдирд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рдлрд┐рд░ рдореИрдВрдиреЗ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рдЧрд┐рдЯрдм рдкреИрдХреЗрдЬ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдореБрдЭреЗ рдЗрди рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рдХреЛрдб рдЖрдХрд╛рд░ рдкрд░ рдЖрд╢реНрдЪрд░реНрдп рд╣реБрдЖ (рдХреБрдЫ php рдЪреМрдЦрдЯреЗ рдЗрдВрд╕реНрдЯрд╛рдЧреНрд░рд╛рдо рдкрд░ рдЗрди рд░реИрдкрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЫреЛрдЯреЗ рд╣реИрдВ) рдореИрдВрдиреЗ рдХрдо рд╕реЗ рдХрдо рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдирд╛ рд░реИрдкрд░ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛редрд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ
рд╣рдо WEB рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрд╛рд░рд┐рдд рдХрд░реЗрдВрдЧреЗред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реЗрдбрд░, рдХреБрдХреАрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://www.instagram.com/',
CURLOPT_HEADER => true,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true,
CURLINFO_HEADER_OUT => true,
CURLOPT_HTTPHEADER => ['user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'],
]);
$response = curl_exec($curl);
$headers = curl_getinfo($curl);
$header_content = substr($response, 0, $headers['header_size']);
curl_close($curl);
$cookie = [];
preg_match_all("/Set-Cookie:\s*(?<cookie>[^=]+=[^;]+)/mi", $header_content, $matches);
foreach ($matches['cookie'] as $c) {
if ($c = str_replace(['sessionid=""', 'target=""'], '', $c)) {
$c = explode('=', $c);
$cookie = array_merge($cookie, [trim($c[0]) => trim($c[1])]);
}
}
if (isset($cookie['csrftoken']) {
}
рдЖрдЧреЗ рдореИрдВ CURL рдХреЗ рдХрд╛рдо рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдирд╣реАрдВ рджреВрдВрдЧрд╛редрдкреНрд░рд╛рдзрд┐рдХрд░рдг:
POST
https:
HEADER
Content-Type: application/x-www-form-urlencoded
x-ig-app-id: 1217981644879628
x-csrftoken:
cookie:
user-agent:
BODY
username=&password=&queryParams={}&optIntoOneTap=false
{"authenticated": true, "user": true, "userId": "****", "loginNonce": "****", "reactivated": true, "status": "ok"}
{"authenticated": false, "user": true, "status": "ok"}
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬ
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд рдХреБрдХреАрдЬрд╝ рдФрд░ x-csrftoken рд╣реИрдбрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
GET
https:
HEADER
x-csrftoken:
x-ig-app-id: 1217981644879628
cookie:
user-agent:
{
"users": [
{"position":0,
"user":{
"pk":" "
"username":" "
"full_name":" , "
.....
}
},{},{}
],
"places":[ ],
"hashtags":[ ],
"has_more": true,
"rank_token": "0.44093530619864296",
"clear_client_cache": false,
"status: "ok"
}
рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВ
рд╕рдВрджреЗрд╢ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдИрдбреА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рднреЗрдЬреЗрдВрдЧреЗ, рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рдвреВрдВрдвреЗрдВрдЧреЗ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВрдиреЗ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдерд╛ред
POST
https:
HEADER
user-agent: Instagram 10.2.2 Android (18/4.3; 320dpi; 720x1280; Huawei; HWEVA; EVA-L18; qcom; en_US)
x-csrftoken:
x-ig-app-id: 1217981644879628
cookie:
content-type: application/x-www-form-urlencoded
BODY
text={ }&_uuid=&_csrftoken={ csrftoken}&recipient_users="[[ ]]"&action=send_item&thread_ids=["0"]&client_context={UUID v4 }
{"status":"ok", "payload":{"item_id":" "} ...}
function uuid4()
{
if (function_exists('com_create_guid') === true) {
return trim(com_create_guid(), '{}');
}
$data = openssl_random_pseudo_bytes(16);
$data[6] = chr(ord($data[6]) & 0x0f | 0x40);
$data[8] = chr(ord($data[8]) & 0x3f | 0x80);
return vsprintf('%s%s%s%s%s%s%s%s', str_split(bin2hex($data), 4));
}
рд╡реЗрдм рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рддрд╕реНрд╡реАрд░реЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛
рдЪрд┐рддреНрд░ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ ImageJPEG рдЧреБрдгрд╡рддреНрддрд╛ 100 рдореЗрдВ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЕрдиреНрдпрдерд╛ рдЗрдВрд╕реНрдЯрд╛рдЧреНрд░рд╛рдо рдПрдХ рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рдПрдЧрд╛:$photo = __DIR__ . '/source.jpg';
$file_temp = __DIR__ . '/send_images.jpg';
list($width, $height, $image_type) = getimagesize(realpath($photo));
$srcImage = ImageCreateFromJPEG($photo);
$resImage = ImageCreateTrueColor($width, $height);
ImageCopyResampled($resImage, $srcImage, 0, 0, 0, 0, $width, $height, $width, $height);
ImageJPEG($srcImage, $file_temp, 100);
ImageDestroy($srcImage);
рдлреЛрдЯреЛ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:
$microtime = round(microtime(true) * 1000);
POST
https:
HEADER
content-type: image/jpg
x-entity-name: 'fb_uploader_' . $microtime
offset: 0
user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X; ru-RU) AppleWebKit/537.36 (KHTML, like Gecko) Version/11.4.1 Mobile/15G77 Safari/537.36 Puffin/5.2.2IP
x-entity-length: filesize($file_temp)
x-instagram-rupload-params: {"media_type":1,"upload_id":"' . $microtime . '","upload_media_height":' . $height . ',"upload_media_width":' . $width . '}
x-csrftoken:
x-ig-app-id: 1217981644879628
cookie:
BODY
file_get_contents(realpath($file_temp))
{"upload_id":" $microtime", "status":"ok" ...}
POST
https:
HEADER
content-type: application/x-www-form-urlencoded
user-agent: Mozilla/5.0 (iPhone; CPU iPhone OS 11_4_1 like Mac OS X; ru-RU) AppleWebKit/537.36 (KHTML, like Gecko) Version/11.4.1 Mobile/15G77 Safari/537.36 Puffin/5.2.2IP
x-csrftoken:
x-ig-app-id: 1217981644879628
cookie:
BODY
upload_id=$microtime&caption={, }&usertags=&custom_accessibility_caption=&retry_timeout=
{"status":"ok", "media":{"id":"***", ...}}
рдпрд╣ рд╕рдм рд╣реИ, рдореИрдВрдиреЗ рдЗрдВрд╕реНрдЯрд╛рдЧреНрд░рд╛рдо рдкрд░ рдПрдХ рдиреНрдпреВрдирддрдо рдЖрд╡рд░рдг рд▓рд╛рдЧреВ рдХрд┐рдпрд╛редрдореИрдВрдиреЗ рдЬреАрдердм рдкрд░ рдкреВрд░рд╛ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реБрдирдХрд░ рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА, рд╢рд╛рдпрдж рдореИрдВрдиреЗ рдХреБрдЫ рдЧрд▓рдд рдХрд┐рдпрд╛ рд╣реИред