Использование сокета Poco :: Net :: StreamSocket для загрузки файла из интернета?

Я хочу использовать сокет Poco :: Net :: StreamSocket для загрузки файла из интернета.
Мне нужен исходный шаблон.
Кто-нибудь, помогите мне!

-1

Решение

Этот код работал для меня:

#include "Poco/URIStreamOpener.h"#include "Poco/StreamCopier.h"#include "Poco/Path.h"#include "Poco/URI.h"#include "Poco/Exception.h"#include "Poco/Net/HTTPStreamFactory.h"#include "Poco/Net/FTPStreamFactory.h"#include <memory>
#include <iostream>

using Poco::URIStreamOpener;
using Poco::StreamCopier;
using Poco::Path;
using Poco::URI;
using Poco::Exception;
using Poco::Net::HTTPStreamFactory;
using Poco::Net::FTPStreamFactory;

int main(int argc, char** argv)
{
HTTPStreamFactory::registerFactory(); // Must register the HTTP factory to stream using HTTP
FTPStreamFactory::registerFactory(); // Must register the FTP factory to stream using FTP

string url = "http://somefile.mp3";
string filePath = "C:\\somefile.mp3";

// Create and open a file stream
std::ofstream fileStream;
fileStream.open(filePath, ios::out | ios::trunc | ios::binary);

// Create the URI from the URL to the file.
URI uri(url);

// Open the stream and copy the data to the file.
std::auto_ptr<std::istream> pStr(URIStreamOpener::defaultOpener().open(uri));
StreamCopier::copyStream(*pStr.get(), fileStream);

fileStream.close();
}

Многое из вышеперечисленного пришло из примера кода, найденного Вот.

1

Другие решения

Посмотрите на странице 11 Poco сеть слайдов, это должно помочь вам начать.

0

По вопросам рекламы [email protected]