Очень мало россиян использует интернет в мобильных устройствах
Самым распространенным сервисом среди держателей мобильных телефонов, использующих интернет, является посещение социальных сетей, а потом лишь использование поисковых браузеров.
Самым распространенным сервисом среди держателей мобильных телефонов, использующих интернет, является посещение социальных сетей, а потом лишь использование поисковых браузеров.
Но не только политика и экономика виновны в ухудшении уровня образованности наших сограждан. В последние годы немалую роль сыграло и появление сети Интернет.
На минувшей неделе на страницах небезызвестного издания под названием Forbes была напечатан обновленный вариант перечня самых состоятельных людей России.
На минувшей неделе на страницах небезызвестного издания под названием Forbes была напечатан обновленный вариант перечня самых состоятельных людей России.
Заключительная часть трилогии о том, как взять feedburner’овскую капчу, заставить пользователя ввести её и подписать его на рассылку feedburner.
В этой статье разберем серверную часть программы – php-скрипт, задача которого обратиться к сервису feedburner, получить капчу, передать пользователю, принять расшифровку капчи от пользователя и передать feedburner. Я использовал ZendFramework, но в основном по мелочи.
Итак, весь скрипт состоит из двух больших блоков. Первый – для случая, когда мы только получаем капчу, второй – для случая, когда пользователь её уже расшифровал.
Когда мы обращаемся к фидбернеру в первый раз отрабатывает следующий скрипт:
$client = new Zend_Http_Client(/* здесь должна идти строка с адресом рассылки, которую генерирует feedburner */); $client->setParameterPost(array( 'loc' => 'ru_RU', 'uri' => /* данные вашей рассылки */, 'email' => /* данные вашей рассылки */, )); $resp = $client->request('POST'); // выполняем POST запрос $headers = $resp->getHeaders(); // меняем относительные пути на полные $response = str_replace('captcha?','http://feedburner.google.com/fb/a/captcha?', $resp); $response = str_replace('="/fb','="http://feedburner.google.com/fb', $response); // В ответ на наш запрос feedburner генерирует форму // для заполнения с рядом скрытых (hidden) полей. // Значение этих полей нам нужно достать и отправить // обратно фидбернеру при следующем обращении // Здесь я опушу большую часть однотипных действий $pos1 = strpos($response, 'action="'); $action = substr($response, $pos1 + 8); $pos11 = strpos($action, '"'); $action = substr($action, 0, $pos11); $pos1 = strpos($response, 'input type="hidden" name="uri"'); $uri = substr($response, $pos1 + 38); $pos11 = strpos($uri, '"'); $uri = substr($uri, 0, $pos11); …
А далее нам остается только сформировать собственный кусок кода HTML, который AJAX вернет клиенту:
<form> <input type="hidden" id="fbaction" name="fbaction" value=""/> <input type="hidden" id="fburi" name="fburi" value=""/> <input type="hidden" id="fbemail" name="fbemail" value=""/> <input type="hidden" id="fbtoken" name="fbtoken" value=""/> <input type="hidden" id="fbcookie" name="fbcookie" value=""/> </form>
$action, $uri, $email, $token – то, что мы достали из кода, сгенерированного фидбернером. $headers[‘Set-cookie’] – куки которые, установил фидбернер, их также нужно передать.
А теперь рассмотрим действия, когда пользователь ввел капчу, которую предложил нам фидбернер и отправил данные в наш серверный скрипт.
// клиент для HTTP-запросов $client = new Zend_Http_Client($action); // устанавливаем параметры, которые получили в прошлый // раз от фидбернера $client->setParameterPost(array( 'loc' => 'ru_RU', 'token' => $_GET['token'], 'uri' => $_GET['uri'], 'captcha' => $_GET['captcha'], 'email' => $_GET['email'] )); // не забываем добавить куки $cookie = Zend_Http_Cookie::fromString($_GET['cookie']); $client->setCookie($cookie); // делаем POST запрос к фидбернеру $response = $client->request('POST');
Вот и все. В $response у нас попадет ответ от фидбернера. Он скажет, что, либо регистрация прошла успешно, либо мы неправильно ввели капчу, либо плохой e-mail и т.п. Я ничего лучше не придумал, как проверять полученный текст на наличие каких-то ключевых слов. Это, в общем-то, тривиальная задача.
Перевод статьи Амита Агарвала.
Это маленькое пособие покажет Вам, как разработать свой собственный функциональный IM бот, который работает с Google Talk, Yahoo! Messenger, Windows Live и всеми другими Программами мгновенного обмена сообщениями.
Для начала, все, что вам понадобится, это немного базовых знаний в программировании (любой язык подойдет) и веб пространство, где можно разместить вашего бота.
В этом примере, я создал бота, названного «labnol», который читает ваши сообщения и возвращает связанные поисковые фразы, размещенные в Google Suggest. Чтобы увидеть это вживую, добавьте labnol@bot.im в ваш GTalk список контактов и начинайте общаться.
Если вы хотите написать свой собственный IM бот, следуйте этим простым шагам:
Шаг 1. На сайте imified.com попросите приглашения. Вам также следует дать вашему боту подходящее имя, потому что вы можете иметь только один аккаунт, связанный с почтовым ящиком.
Шаг 2. Сообщение с секретным ключом должно прийти на ваш е-мейл в течение следующей минуты. Копируем его и переходим по ссылке.
Шаг 3. Самое время создать бота, который на самом деле является простым скриптом, который находится на вашем веб сервере. Это может быть PHP, Perl, Python или другой язык. Боьлше информации здесь.
Этот PHP скрипт я написал для нашего labnol IM бота. Он читает ваше сообщение, берет релевантную информацию из Google Suggest и отражает ее обратно в IM окно.
<?php // Get all the related keywords from Google Suggest $u = "http://google.com/complete/search?output=toolbar"; $u = $u . "&q=" . $_REQUEST['msg']; // Using the curl library since dreamhost doesn't allow fopen $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $u); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $xml = simplexml_load_string(curl_exec($ch)); curl_close($ch); // Parse the keywords and echo them out to the IM window $result = $xml->xpath('//@data'); while (list($key, $value) = each($result)) { echo $value ."<br>"; } ?>
Шаг 4. Когда ваш скрипт готов, поместите его на ваш веб сервер и скопируйте полное URI. Зайдите под вашим аккаунтом на imified , вставьте URI скрипта и добавьте его в ваш список друзей.
Это очень простой бот, но возможности неограниченны.
Например, вы можете написать бот, который посылает е-мейл всем вашим друзьям посредством простого IM сообщения. Или вы можете, например, написать бота, который производит переводы валют. Посмотрите список полезных Google Talk ботов.
Продолжение серии статей об Интернет-ботах.
HTTP (Hyper Text Transport Protocol) – это тот самый язык, на котором разговаривают браузеры с веб-серверами.
Самое важное о HTTP:

Перечисленные особенности делают HTTP очень простым и расширяемым. Например, когда возникла задача сохранять информацию на машине клиента, протокол переписывать не пришлось. Все что надо было сделать – добавть один новый заголовок запроса (Cookie) и один – ответа (Set-Cookie).
Ниже по тексту я буду предлагать вам делать разные вещи. Например, скачать Яндекс Telnet-клиентом. «Пощупав» HTTP своими руками, проще понять его принцип. Но можно и просто читать, специально для вас у меня припасены скриншоты ![]()
Скачаем содержимое сайта www.ya.ru без браузера. Для этого подойдет Telnet-клиент, который наверняка есть в вашей ОС. Чтобы воспользоваться им в Windows, запустите интерпретатор командной строки (cmd.exe). Далее набирайте текст, как на картинке, и нажимайте Enter.

Появился пустой черный экран. Вводите:
GET / HTTP/1.1
Нажимайте Enter. Пусть вас не смущает, что ничего не отображается на экране. Продолжайте ввод:
Host: www.ya.ru
Нажимайте Enter дважды.
Это был HTTP-запрос. А вот и ответ:

Что же мы сделали:
В стартовой строке запроса необходимо указать HTTP метод, URI документа и версию HTTP. В заголовке Host – имя хоста. Это был минимальный запрос. Если что-нибудь убрать, сервер скажет «Bad request».
Ответ начинается со стартовой строки «HTTP/1.1 200 OK», что означает, что наш запрос обработан успешно. Нам присылают желанный документ, содержимое которого находится в теле HTTP ответа. Именно его мы увидим, если нажмем в браузере кнопку «Исходный код страницы». Из заголовков хотел бы обратить ваше внимание только на Content-Length – здесь указан размер тела сообщения в байтах.
Пустая строка означает, что заголовки закончились и начинается тело сообщения. Именно поэтому мы нажимали Enter дважды в конце запроса.
Стартовая строка запроса начинается с названия метода, то есть имени основной операции, производимой над ресурсом.
Основные методы:
Думаю, что распределение частоты запросов примерно такое:
Примечание: не стоит воспринимать эти цифры буквально.
При обращении к серверному скрипту обычно передаются параметры запроса. Например, URI http://svitter.ru/?p=621 означает, что я хочу прочитать статью #621. Методом GET можно передать парамтеры только через URI. С помощью POST их можно передавать как через URI, так и в теле сообщения.
В следующей статье я напишу, как анализировать HTTP трафик. Это необходимо для создания программы, эмулирующей браузер (ведь нам нужен Интернет-бот, помните?
).
Recent Comments