URL Shortener/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
(Remove non-functioning "toc" command)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''Български''' [[URL Shortener|English]]
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}


=Съкращаване на <span class="caps">URL</span> (<span class="caps">URL</span> Shortener)=
[[Category:snippets]]
[[Category:HowTo]]


==Общ преглед==


Чрез техниката за съкращаване на адреси на Интернет страници (<span class="caps">URL</span>) се съкраща дължината на <span class="caps">URL</span> и запазва посоката към желаната страница. Използва се често за по-просто представяне на <span class="caps">URL</span>-та в социални мрежи и мобилни приложения.
'''Български''' [[URL_Shortener|English]]


==Програмни интерфейси==
= Съкращаване на URL (URL Shortener) =


Има много онлайн услуги и програмни интерфейси за съкращаване на <span class="caps">URL</span>. Най-популярни са:
== Общ преглед ==


* [http://goo.gl/ Google Url Shortener] ''[goo.gl]''
Чрез техниката за съкращаване на адреси на Интернет страници (URL) се съкраща дължината на URL и запазва посоката към желаната страница. Използва се често за по-просто представяне на URL-та в социални мрежи и мобилни приложения.
* [http://dev.bitly.com/ Bit.ly] ''[dev.bitly.com]''
* [http://is.gd/apishorteningreference.php is.gd and v.gd] ''[is.gd]''


==Съкращаване на <span class="caps">URL</span> за Qt==
== Програмни интерфейси ==


Имплементация на съкращаване на <span class="caps">URL</span> за Qt, базирана на услугата is.gd и [[Download Data from URL Bulgarian|класът за сваляне на данни от <span class="caps">URL</span>]] ''[qt.io]''.
Има много онлайн услуги и програмни интерфейси за съкращаване на URL. Най-популярни са:
* [http://goo.gl/ Google Url Shortener]
* [http://dev.bitly.com/ Bit.ly]
* [http://is.gd/apishorteningreference.php is.gd and v.gd]


===Програмен код===
== Съкращаване на URL за Qt ==


Програмният интерфейс предоставен от is.gd поддържа json, xml и чист текст за просто отвор. За някои случаи като мобилни приложения простия отговор е по-добро решения, защото не е обходима допълнителна обработка на текста. Публикуваната имплементация е от [https://gitorious.org/location2sms location2sms] ''[gitorious.org]'' (мобилно приложения с отворен код).
Имплементация на съкращаване на URL за Qt, базирана на услугата is.gd и [http://wiki.qt.io/Download_Data_from_URL_Bulgarian класът за сваляне на данни от URL].


===Употреба===
=== Програмен код ===


==Други статии==
Програмният интерфейс предоставен от is.gd поддържа json, xml и чист текст за просто отвор. За някои случаи като мобилни приложения простия отговор е по-добро решения, защото не е обходима допълнителна обработка на текста. Публикуваната имплементация е от [https://gitorious.org/location2sms location2sms] (мобилно приложения с отворен код).


[[Download Data from URL Bulgarian|Сваляне на данни от <span class="caps">URL</span>]] ''[qt.io]''
<code>
#ifndef URLSHORTENER_H
#define URLSHORTENER_H


===Categories:===
//Standard includes
#include <QObject>
#include <QString>


* [[:Category:HowTo|HowTo]]
//Project specific includes
* [[:Category:snippets|snippets]]
#include "filedownloader.h"
 
class UrlShortener : public QObject
{
Q_OBJECT
 
private:
 
FileDownloader* m_pDownloader;
 
QString m_sShortUrl;
 
public:
 
explicit UrlShortener(QObject '''parent = 0);
 
virtual ~UrlShortener();
 
/'''*
* Request short URL from Google API
*
* </code>param sURL
*
* <code>return nothing
*/
void requestShortUrl(QString sURL);
 
/'''*
* Get address
*
* </code>return QString
*/
QString getShortUrl() const;
 
signals:
 
void shortUrlRetrieved();
 
private slots:
 
void parseResponse();
 
};
 
#endif // URLSHORTENER_H
<code>
 
</code>
 
//Project specific includes
#include "urlshortener.h"
 
//Standard includes
#include <QTextStream>
 
UrlShortener::UrlShortener(QObject '''parent) :
QObject(parent),
m_pDownloader(NULL)
{
m_pDownloader = new FileDownloader(this);
 
connect(m_pDownloader, SIGNAL (downloaded()), SLOT (parseResponse()));
}
//——————————————————————————
 
UrlShortener::~UrlShortener()
{
//Nothing to do
}
//——————————————————————————
 
void UrlShortener::requestShortUrl(QString sURL)
{
//Obtain short URL
QUrl req = QUrl( "http://is.gd/create.php");
req.addQueryItem("format", "simple");
req.addQueryItem("longurl", sURL);
m_pDownloader->downloadUrl(req);
}
//——————————————————————————
 
void UrlShortener::parseResponse()
{
QTextStream downloadedStream(m_pDownloader->downloadedData());
 
m_sShortUrl = downloadedStream.readAll();
 
//emit a signal
emit shortUrlRetrieved();
}
//——————————————————————————
 
QString UrlShortener::getShortUrl() const
{
return m_sShortUrl;
}
//——————————————————————————
 
<code>
 
=== Употреба ===
</code>
m_pUrlShortener = new UrlShortener(this);
connect(m_pUrlShortener, SIGNAL (shortUrlRetrieved()), this, SLOT (loadMapShortUrl()));
//'''
m_pUrlShortener->requestShortUrl(QString("http://example.com"));
<code>
 
== Други статии ==

Latest revision as of 12:39, 17 April 2015

This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.


Български English

Съкращаване на URL (URL Shortener)

Общ преглед

Чрез техниката за съкращаване на адреси на Интернет страници (URL) се съкраща дължината на URL и запазва посоката към желаната страница. Използва се често за по-просто представяне на URL-та в социални мрежи и мобилни приложения.

Програмни интерфейси

Има много онлайн услуги и програмни интерфейси за съкращаване на URL. Най-популярни са:

Съкращаване на URL за Qt

Имплементация на съкращаване на URL за Qt, базирана на услугата is.gd и класът за сваляне на данни от URL.

Програмен код

Програмният интерфейс предоставен от is.gd поддържа json, xml и чист текст за просто отвор. За някои случаи като мобилни приложения простия отговор е по-добро решения, защото не е обходима допълнителна обработка на текста. Публикуваната имплементация е от location2sms (мобилно приложения с отворен код).

#ifndef URLSHORTENER_H
#define URLSHORTENER_H

//Standard includes
#include <QObject>
#include <QString>

//Project specific includes
#include "filedownloader.h"

class UrlShortener : public QObject
{
 Q_OBJECT

private:

FileDownloader* m_pDownloader;

QString m_sShortUrl;

public:

explicit UrlShortener(QObject '''parent = 0);

 virtual ~UrlShortener();

 /'''*
 * Request short URL from Google API
 *
 *

param sURL

*

*

return nothing
 */
 void requestShortUrl(QString sURL);

 /'''*
 * Get address
 *
 *

return QString

*/
QString getShortUrl() const;

signals:

void shortUrlRetrieved();

private slots:

void parseResponse();

};

  1. endif // URLSHORTENER_H

//Project specific includes

  1. include "urlshortener.h"

//Standard includes

  1. include <QTextStream>

UrlShortener::UrlShortener(QObject parent) :

QObject(parent),
m_pDownloader(NULL)

{

m_pDownloader = new FileDownloader(this);
connect(m_pDownloader, SIGNAL (downloaded()), SLOT (parseResponse()));

} //——————————————————————————

UrlShortener::~UrlShortener() {

//Nothing to do

} //——————————————————————————

void UrlShortener::requestShortUrl(QString sURL) {

//Obtain short URL
QUrl req = QUrl( "http://is.gd/create.php");
req.addQueryItem("format", "simple");
req.addQueryItem("longurl", sURL);
m_pDownloader->downloadUrl(req);

} //——————————————————————————

void UrlShortener::parseResponse() {

QTextStream downloadedStream(m_pDownloader->downloadedData());
m_sShortUrl = downloadedStream.readAll();
//emit a signal
emit shortUrlRetrieved();

} //——————————————————————————

QString UrlShortener::getShortUrl() const {

return m_sShortUrl;

} //——————————————————————————

=== Употреба ===

m_pUrlShortener = new UrlShortener(this); connect(m_pUrlShortener, SIGNAL (shortUrlRetrieved()), this, SLOT (loadMapShortUrl())); // m_pUrlShortener->requestShortUrl(QString("http://example.com"));

Други статии