示例#1
0
/////////////////////////////////////////////////
// Web-Page-To-File-Fetch
void TWebPgToFileFetch::OnFetch(const int&, const PWebPg& WebPg){
  // save web-page as http
  if (!OutHttpFNm.Empty()){
    WebPg->SaveAsHttp(OutHttpFNm);}
  // save http-body
  if (!OutHttpBodyFNm.Empty()){
    WebPg->SaveAsHttpBody(OutHttpBodyFNm);}
  // save web-page as xml
  if (!OutXmlFNm.Empty()){
    TStr HtmlStr=WebPg->GetHttpBodyAsStr();
    THtmlDoc::SaveHtmlToXml(HtmlStr, OutXmlFNm, WebPg->GetUrlStr(),
     OutXmlTextP, OutXmlUrlP, OutXmlToksP, OutXmlTagsP, OutXmlArgsP);
  }
  // save web-page as text
  if (!OutTxtFNm.Empty()){
    TStr HtmlStr=WebPg->GetHttpBodyAsStr();
    THtmlDoc::SaveHtmlToTxt(HtmlStr, OutTxtFNm, WebPg->GetUrlStr(),
     OutTxtUrlP, OutXmlTagsP);
  }
  // output to screen
  if (OutScrP){
    printf("%s\n", WebPg->GetUrlStr().CStr());
    printf("-----------------------\n");
    printf("%s", WebPg->GetHttpHdStr().CStr());
    printf("%s", WebPg->GetHttpBodyAsStr().CStr());
  }
}