- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
<?php
define('SUBMIT_URL', 'http://archive.li/submit/');
define('REFERER_URL', 'http://archive.li/');
define('DEFAULT_UA', 'Opera/9.80 (Windows NT 6.0) Presto/2.12.388 Version/12.16');
define('POST_HEADERS',
"Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n"
."Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n"
."Content-Type: application/x-www-form-urlencoded\r\n");
define('CSRF_SELECT', "//form[@id='submiturl']/input[@name='submitid']");
define('MY_COOKIES', '__cfduid=d7474a5cc42c65aa882c01a40e7ea74f61484324040');
function getCsrf($url) {
$context_options = stream_context_create(array('http' => array(
'method' => 'GET',
'user_agent' => DEFAULT_UA,
'header' => 'Referer: '. REFERER_URL . "\r\n" . 'Cookie: ' . MY_COOKIES
)));
$links = array();
$file = @file_get_contents($url, false, $context_options);
if ($file) {
$old_libxml_error = libxml_use_internal_errors(true);
$dom = new DOMDocument;
$dom->loadHTML($file);
libxml_use_internal_errors($old_libxml_error);
$domxpath = new DOMXPath($dom);
$filtered = $domxpath->query(CSRF_SELECT);
foreach ($filtered as $item) {
$links[] = $item->getAttribute('value');
}
}
return $links[0];
}
function doPost($url, $referer, $token) {
$postdata = http_build_query(array(
'submitid' => $token,
'url' => $url
));
$context_options = stream_context_create(array('http' => array(
'protocol_version' => 1.1,
'method' => 'POST',
'user_agent' => DEFAULT_UA,
'header' => POST_HEADERS . 'Referer: '. $referer . "\r\n" . 'Cookie: ' . MY_COOKIES,
'content' => $postdata,
'follow_location' => 1,
'max_redirects' => 20,
'timeout' => 1.0,
'ignore_errors' => true
)));
return file_get_contents(SUBMIT_URL, false, $context_options);
}
$csrf = getCsrf(REFERER_URL.'?url='.urlencode($argv[1]));
$result = doPost($argv[1], REFERER_URL.'?url='.urlencode($argv[1]), $csrf);
if ($result) echo $argv[1] . ' OK' . PHP_EOL;
Бекапилка URL в сервисе archive.li (он же archive.is, archive.ec, archive.today).
inkanus-gray 13.02.2017 01:34 # +1
Метки: #рукописинегорят.
P.S. Результат работы тут, проверь:
http://archive.li/govnokod.ru
CTEPTOP 13.02.2017 01:56 # +5
inho 13.02.2017 19:59 # 0
CHayT 13.02.2017 20:11 # +7
Lokich 14.02.2017 08:21 # 0
inkanus_gray 02.10.2022 20:02 # 0
cykablyad 13.02.2017 03:52 # +1
Fike 13.02.2017 04:57 # +1
bormand 13.02.2017 06:07 # +1
cykablyad 13.02.2017 10:36 # 0
wano987 13.02.2017 11:25 # +2
Однако вывод - чист. ЧЯДНТ?
CHayT 13.02.2017 13:13 # +5
Пишешь на рнр.
Fike 13.02.2017 14:26 # +2
http://www.php-fig.org/psr/psr-2/
> The closing ?> tag MUST be omitted from files containing only PHP.
huesto 13.02.2017 14:29 # 0
Fike 13.02.2017 15:06 # 0
roman-kashitsyn 13.02.2017 15:08 # +3
Fike 13.02.2017 15:34 # 0
roman-kashitsyn 13.02.2017 15:36 # 0
Поэтому зелёным
guest 13.02.2017 23:24 # 0
wano987 14.02.2017 10:19 # −2
Спасибо, не надо.
>>All PHP files MUST use the Unix LF (linefeed) line ending.
Расскажите это IDE, которые сами в EOL'ах путаются (VisualStudio, например).
Альзо, это ж на каком говне мамонта надо обслуживать систему, если оно ещё не понимает разные EOL'ы?
2.3.2 и 2.3.3 - Взаимоисключающие параграфы. Если линия ДОЛЖНА быть меньше 80, то она не может быть засофткаплена на 120. Соответственно наоборот.
5.1.1 - противоречит стандарту (де-факто это исключение) и 5.1.2 - это, блядь, что за аргументация?..
Как минимум - такие брейсы как в 5.1.1 не дают красиво комментировать блок, что при разработке из псевдокода очень не удобно.
guest 14.02.2017 10:56 # +2
А еще ты по-английски читать не умеешь. Вот почитай, что означают must и should капсом https://tools.ietf.org/html/rfc2119
Fike 14.02.2017 11:09 # 0
2. вы посмотрите, да он использует табы!
3. ого, мы должны рассказывать что-то там IDE!
4. он думает, нам важно его мнение!
5. разработка из псевдокода? что я сейчас прочитал?
6. взаимоисключающий пункт, чтобы было до чего доебаться в ответе
huesto 14.02.2017 11:42 # 0
cykablyad 14.02.2017 18:28 # +3
inkanus-gray 14.02.2017 18:31 # 0