뽀뽀중 님이 쓰신 글 :
: naMung 님이 쓰신 글 :
: : IdHTTP 컴포넌트에서 예를들어 " http://server.xyz/api/test01" 이런 링크에 있는 텍스트 "Hello World" 라는걸 받아오기위해서
: :
: : 코드를 어떻게 짜야 할까요? 기초적인거지만 전문가들의 도움이 필요합니다...
: :
: : 안에 있을 텍스트는 복잡하게 나눠진것이 아닌 단순한 텍스트 한줄입니다.
:
: 저 같은 경우는 아래와 같이 했습니다.
:
: AnsiString As_Temp;
:
: IdHTTP1->ConnectTimeout = 1000;
: IdHTTP1->ReadTimeout = 2000;
: As_Temp = IdHTTP1->Get(" http://checkip.dyndns.org"); // 가져오지 못할 경우, 에러 처리를 해야 함
:
: if (As_Temp != "") { //여기서 텍스트 로 입력이 되므로 원하는 글자를 찾아서 추출 한다.
: int iPrePos = As_Temp.Pos(":");
: As_Temp = As_Temp.SubString(iPrePos, As_Temp.Length());
: int iPos = As_Temp.Pos("<");
: As_Temp = As_Temp.SubString(0, iPos - 1);
:
: Label_IP_Adress->Caption = As_Temp;
: }
답변:
...
auto http = std::make_unique< TIdHTTP >(nullptr);
[this](const std::wstring& _) {
if (std::wsmatch sm; std::regex_search(_, sm, std::wregex(L"Address: (\\d{1,3}(\\.\\d{1,3}){3})")))
Caption = sm[1].str().c_str();
} (http->Get(L"http://checkip.dyndns.org/").c_str());
...
|