URL Shortener/bg: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
(Remove non-functioning "toc" command)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Cleanup | reason=Auto-imported from ExpressionEngine.}}
[[Category:snippets]]
[[Category:snippets]]
[[Category:HowTo]]
[[Category:HowTo]]


[toc align_right="yes" depth="2"]


'''Български''' [[URL_Shortener|English]]
'''Български''' [[URL_Shortener|English]]
Line 15: Line 16:


Има много онлайн услуги и програмни интерфейси за съкращаване на URL. Най-популярни са:
Има много онлайн услуги и програмни интерфейси за съкращаване на URL. Най-популярни са:
* "Google Url Shortener":http://goo.gl/
* [http://goo.gl/ Google Url Shortener]
* "Bit.ly":http://dev.bitly.com/
* [http://dev.bitly.com/ Bit.ly]
* "is.gd and v.gd":http://is.gd/apishorteningreference.php
* [http://is.gd/apishorteningreference.php is.gd and v.gd]


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


Имплементация на съкращаване на URL за Qt, базирана на услугата is.gd и "класът за сваляне на данни от URL":http://wiki.qt.io/Download_Data_from_URL_Bulgarian.
Имплементация на съкращаване на URL за Qt, базирана на услугата is.gd и [http://wiki.qt.io/Download_Data_from_URL_Bulgarian класът за сваляне на данни от URL].


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


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


<code>
<code>
Line 136: Line 137:
<code>
<code>


h3. Употреба
=== Употреба ===
 
</code>
</code>
m_pUrlShortener = new UrlShortener(this);
m_pUrlShortener = new UrlShortener(this);

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"));

Други статии