|
||||||
Веб-сервис «Типограф» — продукт нашего времени, удобное средство для искушённых пользователей. Отныне нет необходимости постоянно держать под рукой открытым сайт www.typograf.ru. Вы можете импортировать всю мощь и функционал оригинального сервиса в сердце своего сайта. Работает сервис достаточно просто: необходимо осуществить POST запрос в переменной text по адресу http://www.typograf.ru/webservice/, и принять ответ. Всю остальную рутинную работу он сделает за вас. Чтобы результат выдавался Если вы ещё более искушённый пользователь, и вам недостаточно дефолтных настроек, вы можете передать вместе с текстом переменную xml, в которой указать валидный xml с настройками. Пример дефолтных настроек:<?xml version="1.0" encoding="windows-1251" ?> <preferences> <!-- Теги --> <tags delete="0">1</tags> <!-- Абзацы --> <paragraph insert="1"> <start><![CDATA[<p>]]></start> <end><![CDATA[</p>]]></end> </paragraph> <!-- Переводы строк --> <newline insert="1"><![CDATA[<br />]]></newline> <!-- Переводы строк <p> </p> --> <cmsNewLine valid="0" /> <!-- DOS текст --> <dos-text delete="0" /> <!-- Неразрывные конструкции --> <nowraped insert="1" nonbsp="0" length="0"> <start><![CDATA[<nobr>]]></start> <end><![CDATA[</nobr>]]></end> </nowraped> <!-- Висячая пунктуация --> <hanging-punct insert="0" /> <!-- Удалять висячие слова --> <hanging-line delete="0" /> <!-- Символ минус --> <minus-sign><![CDATA[–]]></minus-sign> <!-- Переносы --> <hyphen insert="0" length="0" /> <!-- Акронимы --> <acronym insert="1"></acronym> <!-- Вывод символов 0 - буквами 1 - числами --> <symbols type="0" /> <!-- Параметры ссылок --> <link target="" class="" /> </preferences> Расшифровка настроек
Настройки можно ставить в любом порядке. Количество настроек можно сокращать и использовать только необходимые, остальные настройки будут браться по-умолчанию. Parser... <form method="post"> ^if(def $form:text){ $file[^file::load[text;http://www.typograf.ru/webservice/; $.charset[windows-1251] $.method[POST] $.form[ $.text[$form:text] $.xml[] ] ] ] } <textarea name="text" rows="5" style="width: 50%">^if(def $file.text){$file.text}</textarea> <br /> <input type="submit" value="типографировать" style="margin-top: 0.5em" /> </form> ... Perl#!/usr/bin/perl use strict; use warnings; use LWP; print "Content-type: text/plain\n\n"; my $browser = LWP::UserAgent->new; my $word = 'Я от дедушки ушёл...'; my $url = 'http://www.typograf.ru/webservice/'; my $response = $browser->post( $url, [ 'text' => $word ] ); print $response->content; PHP<?php /** * Функция возвращает результат post запроса * $host - хост сайта куда предполагается делать post запросы. Напр., имеется сайт * http://www.typograf.ru/webservice/, хостом в данном случае является www.typograf.ru * $script - имя каталога или скрипта, который обрабатывает ваш post запрос. * Для сайта http://www.typograf.ru/webservice/ обработчиком будет каталог /webservice/. * $data - это данные формата имя=значение, которые передаются для обработки. Для веб-сервиса * http://www.typograf.ru/webservice/ необходимо передать значение переменной text, поэтому * значение переменной $data будет text=текст для типографирования. */ function post($host,$script,$data) { $fp = fsockopen($host,80,$errno, $errstr, 30 ); if ($fp) { fputs($fp, "POST $script HTTP/1.1\n"); fputs($fp, "Host: $host\n"); fputs($fp, "Content-type: application/x-www-form-urlencoded\n"); fputs($fp, "Content-length: " . strlen($data) . "\n"); fputs($fp, "User-Agent: PHP Script\n"); fputs($fp, "Connection: close\n\n"); fputs($fp, $data); while(fgets($fp,2048) != "\r\n" && !feof($fp)); unset($buf); while(!feof($fp)) $buf .= fread($fp,2048); fclose($fp); } else{ return "Сервер не отвечает"; } return $buf; } $word = 'Я от дедушки ушёл...'; $xml = ''; echo post('www.typograf.ru','/webservice/','text='.urlencode($word).'&xml='.urlencode($xml)); ?> Python#!/usr/bin/env python # -*- coding: cp1251 -*- import urllib url = "http://www.typograf.ru/webservice/" params = urllib.urlencode( {"text":"Я от дедушки ушёл..."} ) f = urllib.urlopen(url, params) print f.read() |
О разработке 3-й версии Типографа на Facebook, Вконтакте и в Twitter | © 2003—2021, Евгений Лепёшкин |