C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[75872] Re:Re:IdHTTP 컴포넌트에서 링크에 텍스트 긁어오기 (C++17)
빌더(TWx) [builder] 1239 읽음    2020-05-23 17:07
뽀뽀중 님이 쓰신 글 :
: 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());
...




+ -

관련 글 리스트
75861 IdHTTP 컴포넌트에서 링크에 텍스트 긁어오기 naMung 1032 2020/05/20
75866     Re:IdHTTP 컴포넌트에서 링크에 텍스트 긁어오기 뽀뽀중 1169 2020/05/20
75872         Re:Re:IdHTTP 컴포넌트에서 링크에 텍스트 긁어오기 (C++17) 빌더(TWx) 1239 2020/05/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.