Я пытаюсь очистить торрент-трекер для сеялок и пиявок с помощью PHP.
Это значение хеша, возвращаемое torcahche: 7026AB638744F2BD2444033A8730DA146E15A886
Следующие трекеры идут с торрентом:
udp://tracker.openbittorrent.com:80/announce
udp://tracker.publicbt.com:80/announce
udp://tracker.ccc.de:80/announce
Вот методы, которые я пытался получить необходимую мне информацию:
$orig="7026AB638744F2BD2444033A8730DA146E15A886";
$infoHash=$orig;
$nfo='udp://tracker.openbittorrent.com:80/scrape?hash_id='.$infoHash;
echo '<br>'.$nfo;
$gitsl=$this->input->get($nfo);
print_r($gitsl);
$infoHash=pack('H',$orig);
$nfo='udp://tracker.openbittorrent.com:80/scrape?hash_id='.$infoHash;
echo '<br>'.$nfo;
$gitsl=$this->input->get($nfo);
print_r($gitsl);
$infoHash=hex2bin($orig);
$nfo='udp://tracker.openbittorrent.com:80/scrape?hash_id='.$infoHash;
echo '<br>'.$nfo;
$gitsl=$this->input->get($nfo);
print_r($gitsl);
$infoHash='%70%26%AB%63%87%44%F2%BD%24%44%03%3A%87%30%DA%14%6E%15%A8%86% ';
$nfo='udp://tracker.openbittorrent.com:80/scrape?hash_id='.$infoHash;
echo '<br>'.$nfo;
$gitsl=$this->input->get($nfo);
print_r($gitsl);
Так что ничего не получая, возникли следующие вопросы:
Я также пробовал несколько сайтов, которые позволяют вам вручную вводить хэш-информацию для очистки, все безуспешно.
Надеюсь, кто-нибудь может помочь, ура.
Ну, во-первых, вы не GET
запрос, как это. Вот как вы ЧИТАЕТЕ значение ввода.
Во-вторых, вы пытаетесь выполнить запрос через UDP. Так что вы не можете просто GET
он, как браузер, или что-то еще, вместо этого будет выполнять HTTP-запрос.
Как указано в комментарии на этом сайте
Проблема с UDP заключается в том, что в случае TCP у вас есть туннель, внутри
из которых все данные идут в обоих направлениях, но в случае UDP вы отправляете
пакет UDP и должен открыть порт, чтобы прослушать ответ (если
это вернется). И если вы вернете некоторые данные, пакеты могут
возвращайся в другом порядке — с этим тоже надо иметь дело.
Вот почему нормальный GET
или же file_get_contents()
не принесет много пользы для вас.
Ты можешь использовать stream_wrapper_register () реализовать оболочку для запроса UDP.
Кроме того, вы должны использовать $infoHash = urlencode(pack("H*", $orig))
чтобы получить строку, необходимую для передачи трекера.
Повторяю мой ответ на этот вопрос: Скрипт UDP Tracker Scraping 1 работает другой Не
Проблема в том, что вы отправляете http-scrape
на UDP-трекер.
UDP-трекеры используют совершенно другой протокол: BEP15 — протокол UDP Tracker для BitTorrent