URL Öffnen und Durchsuchen
-
Hallo liebe C++ gemeinde,
ich habe vor Jahren ein Programm in Python Script geschrieben das ich jetzt in C++ Umsätzen möchte und stoße dabei an meine grenzen.
und zwar: ich möchte eine URL (nicht in externem Programm) öffnen und dann prüfen ob eine Zeichenkette vorhanden bzw. nicht vorhanden ist.
in Python schaut das wie folgt aus:
url = urllib.urlopen("http://www.test.de/test&verz=settings&commandd=" + variable ) content = url.read() url.close() if re.search(r"test", content) == None:für ein Beispiel in C++ wäre ich sehr dankbar.
MFG Daniel

-
#include <boost/asio.hpp> #include <boost/array.hpp> #include <iostream> #include <string> boost::asio::io_service io_service; boost::asio::ip::tcp::resolver resolver(io_service); boost::asio::ip::tcp::socket sock(io_service); boost::array<char, 4096> buffer; void read_handler(const boost::system::error_code &ec, std::size_t bytes_transferred) { if (!ec) { std::cout << std::string(buffer.data(), bytes_transferred) << std::endl; sock.async_read_some(boost::asio::buffer(buffer), read_handler); } } void connect_handler(const boost::system::error_code &ec) { if (!ec) { boost::asio::write(sock, boost::asio::buffer("GET / HTTP 1.1\r\nHost: c-plusplus.net\r\n\r\n")); sock.async_read_some(boost::asio::buffer(buffer), read_handler); } } void resolve_handler(const boost::system::error_code &ec, boost::asio::ip::tcp::resolver::iterator it) { if (!ec) { sock.async_connect(*it, connect_handler); } } int main() { boost::array<char, 4096>::iterator it(buffer.begin()); boost::asio::ip::tcp::resolver::query query("www.c-plusplus.net", "80"); resolver.async_resolve(query, resolve_handler); io_service.run(); for(; it != buffer.end(); ++it) { if((*it == 'A') &&(*it++ == 'B')) // Und so weiter... std::cout<<"Jo ey, voll gefundet getutet"<<std::endl; } }Ungetestet
EDIT:
Lol sorry, der Iterator darf natürlich nicht const sein^^
-
Hy Danke Kóyaánasqatsi,
vielen dank das ging sehr schnell!!!
MFG Daniel