Я хочу создать ссылку для прямой загрузки Google без открытия веб-страницы.
Я нашел 1 сайт, который делает то же самое, но я не нашел, как он это делает.
ниже находится сайт, который создает прямую ссылку для скачивания без открытия страницы диска Google.
https://links-safety.com/download.php?id=0B475ByfcR9n4a1JMVEZxQno2Tmc
0B475ByfcR9n4a1JMVEZxQno2Tmc является файлом google и заменяется любым файлом.
может кто-нибудь сказать мне, как я могу это сделать? Я хочу сделать такую же страницу, как на сайте выше.
Я пробовал этот url, но не работал. вместо начала загрузки открывается страница.
https://drive.google.com/uc?id=0BwSYfbOPSw89Rno4LTZpSGF6RUE
Быстрый просмотр источника сайта, он генерирует следующий javascript.
<script> setTimeout(function() { window.location.href = "https://doc-0o-a0-docs.googleusercontent.com/docs/securesc/ha0ro937gcuc7l7deffksulhg5h7mbp1/nemv3kbhggb02fn2933p80ec5vsi521t/1512345600000/10410701494873540224/*/0B475ByfcR9n4a1JMVEZxQno2Tmc?e=download"; }, 300); </script>
Но откуда этот url?
Немного возившись и наблюдая за консолью, когда она запрашивает подтверждение в Google, вы можете увидеть, что она выполняет запрос POST и возвращает некоторый json.
)]}' {"disposition":"SCAN_CLEAN","downloadUrl":"https://doc-0c-9k-docs.googleusercontent.com/docs/securesc/aonp7ed1gjmns5tl5di4fl0psa1cppk8/16panrhf9etu7sqgddkaduij5anokf8t/1512345600000/17294955007197410767/17294955007197410767/0ByzJffaEk18uN2ZLeGlIRGVOaDJmWS1WU1RUN3dXUGdtUUx3?e\u003ddownload","fileName":"install.sh","scanResult":"OK","sizeBytes":4936}
Так что просто издевайтесь над тем, что с PHP
Сделайте запрос POST json на этот url, google ответит json, а затем просто отключится )]}'
json декодирует его, а затем используйте заголовок для перенаправления на файл.
<?php $id = '0B475ByfcR9n4a1JMVEZxQno2Tmc'; $ch = curl_init('https://drive.google.com/uc?id='.$id.'&export=download'); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, []); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); $result = curl_exec($ch); $object = json_decode(str_replace(')]}\'', '', $result)); exit(header('Location: '. $object->downloadUrl));