2

boost で呼び出される URI を取得したいと考えています。

が呼び出された場合http://localhost:8080/users/4、URI を知りたいか、単に/users/4

#include <boost/bind.hpp>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;

int main()
{
  boost::asio::io_service io;
  tcp::acceptor acceptor(io, tcp::endpoint(tcp::v4(), 8080));
  tcp::socket socket(io);
  acceptor.accept(socket);

  // Do stuff to get URI
  // ...

  if (uri == "http://localhost:8080/users/4") {
     std::cout << "User 4 uri called" << std::endl;
  }
  return 0;
}
4

1 に答える 1

2

ASIO の http server exampleを見てください。このconnection::handle_readメソッドは、クラス インスタンスを使用してリクエストを解析しrequest_parserます。その結果、request構造体のインスタンスには必要な URI が含まれます。

于 2013-06-07T10:39:17.647 に答える