【解決方法】C++ で URL Shortener を作成するには?

プログラミングQA


APIを使用してURLを短縮するC ++でURL Shortenerを作成したいと思います。APIリクエストは次のとおりです。 http://sitename.com/api.php?url=http://urltoshort.com

C++ で作成するにはどうすればよいですか?ユーザーは長い URL を挿入するように求められ、Enter キーを押して短くすると、自動的に短い URL が返されます。 よろしく PS私はこのコードを持っています:

C++
#include <iostream>
using namespace std;
int main ()
{
    string longurl, shorturl;
    cout<<"Please insert long URL"<<endl;
    cin>>longurl;
    shorturl = "http://sitename.com/api.php?url="+longurl;
    cout<<"Short URL:"<<shorturl<<endl;
    system("pause");
    return 0;
}

でも返してくれ http://sitename.com/api.php?url=http://urltoshort.com Web サイトに接続して短縮 URL を返すにはどうすればよいですか?

解決策 1

Windows の場合、WinInet または WinHttp API を使用します。

http://msdn.microsoft.com/en-us/library/windows/desktop/hh227298%28v=vs.85%29.aspx[^]

WinInet の例:

C++ での非同期 HTTP 要求 WinINet ラッパー[^]

WinHttp の例:

C++ を使用した単純な Windows HTTP ラッパー[^]

Linux (または Windows) の場合は、libcurl を使用します。

http://curl.haxx.se/libcurl/wininet.html[^]

この例ではそれを行う必要があります。

http://curl.haxx.se/libcurl/c/simple.html[^]

解決策 2

の概念を理解していないようです。 クライアントサーバー.

あなたのプログラムは クライアントの役割 からいくつかのデータを要求します サーバ.

クライアント リクエスト サーバーからのデータ。
サーバーは 応答 (エラーまたは成功に加えて再要求されたデータ)。

お互いにうまく話すためには、両方の役割が何らかのコミュニケーションに同意する必要があります プロトコル.

リクエストプロトコル URL にエンコードされ、サーバーに送信されるいくつかの追加データが追加されます。
応答プロトコル リクエスト URL に記載されているプロトコルと、サーバーに送信される追加データに基づいています。

見る HTTP プロトコル[^] クライアントとサーバー間の HTTP 通信の背景について説明します。

Web クライアントを実装するには、最低限の低レベル関数で作業するか、環境 (Windows、Linux、Unix など) に応じて、いくつかの既存のクラス/ライブラリを使用することができます。

Unix/Linux: 例を参照 http://www.binarytides.com/server-client-example-c-sockets-linux/[^] C ベースのサーバー/クライアント コードの例。

CURL: または、libcurl を使用することもできます。 http://en.wikipedia.org/wiki/CURL[^].

CP: すでに発明されたクライアントを使用することもできます。 C++ によるフル機能の Windows HTTP ラッパー[^].

またはWindows / .Netでは、次を使用できます http://msdn.microsoft.com/en-us/library/system.net.webclient(v=vs.110).aspx[^]

乾杯
そして私

コメント

タイトルとURLをコピーしました