Подключиться к бэкэнду с помощью C ++? - PullRequest
0 голосов
/ 16 октября 2018

Я хочу написать код для подключения к бэкэнду, который имеет имя пользователя и пароль .. как я могу отправить имя пользователя и пароль после подключения?ниже мой код .. Я не смог найти четкого объяснения того, как реализовать процесс авторизации в коде.веб-сайт, на который я хочу войти, запрашивает имя пользователя и пароль, а затем кнопку входа.Большое спасибо заранее за вашу помощь

#include <boost/asio.hpp>
#include <iostream>
#include <string>

using namespace boost;

void write_to_socket(asio::ip::tcp::socket& sk, const std::string & msg ) {
std::size_t total_write {0};  // bytes successfully witten
std::size_t sz {msg.size()};

// write_some returns the number of bytes sucessfully written
while (total_write != sz ) {
total_write += sk.write_some(asio::buffer(msg.c_str() + total_write, sz - total_write));
}

}

void read_from_socket(asio::ip::tcp::socket& sk ) {
/* to be coded */
}

int main() {
std::string ip_addr {"ip goes here"};
unsigned short port {80};

try {
// initialise end point
asio::ip::tcp::endpoint ep {asio::ip::address::from_string(ip_addr), port};

std::cout << "End point declared \n";

asio::io_service ios;

// Configure socket with ios object and associated end point
asio::ip::tcp::socket sk{ios, ep.protocol()};

std::cout << "Socket Declared \n";

sk.connect(ep); // connect socket to end point
std::cout << "Socket Connected \n";
int f = 1;


boost::system::error_code ec;




// read response
std::string response;

do {
    char buf[1024];
    size_t bytes_transferred = sk.receive(asio::buffer(buf), {}, ec);
    if (!ec) response.append(buf, buf + bytes_transferred);
} while (!ec);

// print and exit
std::cout << "Response received: '" << response << "'\n";



//write_to_socket(sk, "Hello World\n");

}
catch (system::system_error &e) {
std::cout << "Error: " << e.code() << " " << e.what();
return e.code().value();
}

return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...