콘텐츠로 이동

39. WebFetch가 HTTPS로 강제 변환할 때 curl로 우회하기

한 줄 요약

WebFetch는 HTTP URL을 자동으로 HTTPS로 바꾸는데, HTTPS를 안 쓰는(또는 못 쓰는) 사이트는 TLS 인증서 에러로 실패한다. 이때 curl -sk 한 줄로 우회 가능.

비유로 이해하기

WebFetch는 "보안 우체국"이야. 편지 봉투를 자동으로 등기 봉투(HTTPS)로 바꿔서 보내. 근데 받는 곳이 일반 우체통(HTTP)밖에 없으면? 등기 봉투를 안 받아주니까 반송됨. 그럴 땐 직접 일반 봉투로 부치면 되는데, 그게 curl이야.

언제 만나는 문제냐

  • 한국 중소 호텔·식당 공식 사이트 (많은 곳이 HTTPS 미적용)
  • 시청·면사무소 공공 사이트 (일부)
  • 오래된 자체 운영 사이트
  • 라마다 스위츠 거제 공식 사이트(ramadasuitegeoje.com)도 이 케이스 — 2026-05-16 세션에서 실제 발생

에러 메시지

ERR_TLS_CERT_ALTNAME_INVALID fetching "https://www.ramadasuitegeoje.com/"

WebFetch는 자동으로 https://로 바꿔서 시도 → 사이트가 HTTPS 인증서가 없거나 도메인이 안 맞음 → TLS 에러.

해결법: curl 한 줄

curl -sk "http://www.example.com/page" -L --max-time 30 > output.html

옵션 풀이: - -s (silent): 진행률 표시 끄기 - -k (insecure): SSL 인증서 검증 무시 (HTTP만 쓰는 사이트 대응) - -L: 리다이렉트 따라가기 - --max-time 30: 30초 안에 못 받으면 포기 - > output.html: HTML 파일로 저장

한글 페이지 파싱까지 한 번에

curl -sk "http://www.ramadasuitegeoje.com/view/viewLink.do?page=homepage/KOR/company/intro" -L --max-time 30 > intro.html && python -X utf8 -c "
import re
with open('intro.html', 'rb') as f:
    raw = f.read()
html = raw.decode('utf-8')

# script/style 태그 제거
text = re.sub(r'<script[^>]*>.*?</script>', '', html, flags=re.DOTALL)
text = re.sub(r'<style[^>]*>.*?</style>', '', text, flags=re.DOTALL)
# 태그 → 줄바꿈
text = re.sub(r'<[^>]+>', '\n', text)
lines = [l.strip() for l in text.split('\n') if l.strip()]

# 키워드 들어간 줄만 추출
for line in lines:
    if any(kw in line for kw in ['주소', '전화', 'Tel.', '경남', '서울']):
        print(line)
"

호텔 공식 사이트에서 주소·전화·체크인 시간 같은 1차 출처 정보를 정확하게 뽑을 수 있어. 블로그 글이나 OTA보다 신뢰도 훨씬 높음.

왜 WebFetch는 HTTPS로 강제할까

웹 표준이 HTTPS로 굳어지면서 WebFetch가 보안상 HTTP를 막아둠. 일반 웹 검색·해외 사이트엔 문제 없지만, 한국 중소 사이트는 아직 HTTP만 지원하는 곳이 꽤 있어서 충돌이 남.

실전 판단 기준

  1. 사이트 URL이 http://로 시작 → WebFetch 실패 가능성 50%
  2. 한 번 시도해 보고 ERR_TLS_CERT 에러 뜨면 → 바로 curl 우회
  3. curl도 안 되면 → 셀레니움(브라우저 자동화)으로 직접 페이지 띄우기

관련 패턴

  • 한글 경로 파일은 python -X utf8 또는 PYTHONUTF8=1 환경변수 필수
  • re.sub로 HTML 태그 제거하면 텍스트만 깔끔하게 추출 가능
  • bash의 grep보다 Python re.sub가 한글 처리에 더 안정적

관련 study 문서