|
||||||
|
Веб-сервис «Типограф» — продукт нашего времени, удобное средство для искушённых пользователей. Отныне нет необходимости постоянно держать под рукой открытым сайт 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()
Если у вас есть пример на другом языке, присылайте на , буду весьма признателен. |
| Прошли миллион! Движемся дальше. | ![]() |
© 2003—2010, Eugene Spearance |