codeigniter 2 — Поток торрента в переполнении стека

Я пытаюсь очистить торрент-трекер для сеялок и пиявок с помощью 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);

Так что ничего не получая, возникли следующие вопросы:

  1. Является ли хэш, предоставленный Torchache, правильным?
  2. Является ли простой запрос get действительно всем, что вам нужно, чтобы получить информацию обратно?
  3. Это даже, как вы делаете запрос get в codeigniter?
  4. Что-то не так с самим торрент-файлом?

Я также пробовал несколько сайтов, которые позволяют вам вручную вводить хэш-информацию для очистки, все безуспешно.

Надеюсь, кто-нибудь может помочь, ура.

1

Решение

Ну, во-первых, вы не GET запрос, как это. Вот как вы ЧИТАЕТЕ значение ввода.

Во-вторых, вы пытаетесь выполнить запрос через UDP. Так что вы не можете просто GET он, как браузер, или что-то еще, вместо этого будет выполнять HTTP-запрос.

Как указано в комментарии на этом сайте

Проблема с UDP заключается в том, что в случае TCP у вас есть туннель, внутри
из которых все данные идут в обоих направлениях, но в случае UDP вы отправляете
пакет UDP и должен открыть порт, чтобы прослушать ответ (если
это вернется). И если вы вернете некоторые данные, пакеты могут
возвращайся в другом порядке — с этим тоже надо иметь дело.

Вот почему нормальный GET или же file_get_contents() не принесет много пользы для вас.

Ты можешь использовать stream_wrapper_register () реализовать оболочку для запроса UDP.

Кроме того, вы должны использовать $infoHash = urlencode(pack("H*", $orig)) чтобы получить строку, необходимую для передачи трекера.

0

Другие решения

Повторяю мой ответ на этот вопрос: Скрипт UDP Tracker Scraping 1 работает другой Не


Проблема в том, что вы отправляете http-scrape на UDP-трекер.
UDP-трекеры используют совершенно другой протокол: BEP15 — протокол UDP Tracker для BitTorrent

0

По вопросам рекламы [email protected]