<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Брёд &#187; scrape</title>
	<atom:link href="http://blog.rostov114.net/tag/scrape/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.rostov114.net</link>
	<description></description>
	<lastBuildDate>Sat, 28 Apr 2012 08:35:48 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Обработка Multi Scrape запросов</title>
		<link>http://blog.rostov114.net/programming/handling-multi-scrape-queries.html</link>
		<comments>http://blog.rostov114.net/programming/handling-multi-scrape-queries.html#comments</comments>
		<pubDate>Thu, 28 Jan 2010 02:26:59 +0000</pubDate>
		<dc:creator>rostov114</dc:creator>
				<category><![CDATA[Программирование]]></category>
		<category><![CDATA[announce]]></category>
		<category><![CDATA[BitTorrent]]></category>
		<category><![CDATA[scrape]]></category>

		<guid isPermaLink="false">http://rostov114.net/?p=16</guid>
		<description><![CDATA[На этот раз мне захотелось еще раз вые выпиндриться, и сделать в своем scrape поддержку Multi Scrape запросов. Долгие пляски вокруг $_GET, фактически ничего не дали но зато дал плоды $_SERVER['QUERY_STRING']. Зацепившись за него минут за 15 накатал простенькую функцию &#8230; <a href="http://blog.rostov114.net/programming/handling-multi-scrape-queries.html">Читать далее <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>На этот раз мне захотелось еще раз <del datetime="2010-01-28T02:14:44+00:00">вые</del> выпиндриться, и сделать в своем scrape поддержку Multi Scrape запросов.<br />
Долгие пляски вокруг <strong>$_GET</strong>, фактически ничего не дали но зато дал плоды <strong>$_SERVER['QUERY_STRING']</strong>.<br />
Зацепившись за него минут за 15 накатал простенькую функцию которая выдает массив хеш-сумм переданные в URI. В случае если хотя бы одна хеш-сумма не будет равна 20 символам то функция завершиться с ошибкой <strong>Invalid info_hash</strong>.</p>
<p>Сама функция:</p>
<pre lang="php" line="1" escaped="false">function scrape_parse_query()
{
    $info_hash = array();
    $query     = $_SERVER['QUERY_STRING'];

    $query = explode("&#038;", $query);

    foreach($query as $k)
    {
        list($key, $value) = explode('=', $k);
        $key   = str_replace('?', '', $key);
	$value = urldecode($value);

        if($key == 'info_hash' &#038;&#038; strlen($value) == 20)
        {
		$info_hash[] = bin2hex($value);
        }
        else
        {
            if(strlen($value) != 20 and $key == 'info_hash')
            {
		msg_die('Invalid info_hash');
            }
        }
    }

    return $info_hash;
}</pre>
<p>На выходе у функции будет массив хеш-сумм (в BTIH).<br />
Что с данными хеш суммами делать, решайте сами.<br />
Кстати, чуть не забыл сказать, данная функция писалась под scrape на основе TorrentPier.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.rostov114.net/programming/handling-multi-scrape-queries.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

