html페이지를 받아오는 프로그램 작성중....

운형의 이미지

    strcpy(sendmsg,"GET index.html\n");
    send(sockfd, sendmsg, sizeof(sendmsg), 0);

라고 하면 서버에서 해당 페이지를 넘겨 주는 걸로 알고 있는데
이게 잘안되는군요.

좀 미심적어서 패킷을 덤프 해봤더니....

GET index.html HTTP/1.1

이라는 메시지가 날라 가더군요.. HTTP v1.1에서 먼가 달라 진거 같은데 아시는 분 조언 바랍니다.

(__)

saxboy의 이미지

음... 이런 프로그램을 RFC를 보지 않고 만드시면 곤란한 일이 많이 생길텐데요. 또, GET이라고 한줄만 날려서도 곤란한 일이 많이 생긴답니다. user agent나 cookie같은 것들도 다 적어주셔야지요.

cinsk의 이미지

strcpy(sendmsg,"GET index.html\n\n");

nohmad의 이미지

RFC는 일단 필독사항입니다. 다 읽으실 필요는 없고 요약본은 많이 돌아다니니 구해서 보세요.

telnet domain.com 80
과 같이 접속하셔서 직접 헤더를 작성해서 보내보고 어떤 반응이 오나 그런 것들을 미리 좀 알고 하시는 게 좋을 듯 합니다. 한가지만 말씀드리면 요즘은 많은 서버들이 VirtualHost로 운영되고 있어서, Host: domain.com 정도는 필수로 보내주셔야 할 겁니다.

쿠키라든가 기타 곤란한 문제들이 있을 수 있으니 curl 같은 잘 알려진 라이브러리를 이용하는 것도 하나의 방법입니다.

운형의 이미지

쿠키없는 사이트고... 포트만 3000으로 돌고 있습니다.

80은 이미 아파치가, 3000은 또다른 놈(ntop에 내장된웹서버..)이....

(__)

Do you think that's the air you are breathing now?

honestee의 이미지

char szGET[] = \
"GET /index.html HTTP/1.1\r\n" \
"Host: www.????.com\r\n" \
"\r\n";

이정도는 넣어야지 않을가요...

펑키의 이미지

기본족으로 요구하는게 아파치하고 IIS등이 조금씩 다릅니다. 마지막에 엔터를 두번 넣어 주거나 처음에 엔터를 한번 넣어 주거나.. 오래 되서 기억이 나지 않는데 하여간 조금씩 달랐던것 같습니다. 가장 좋은 것은 다른분들 말씀대로 RFC가 최고입니다.

RFC없이 직접 하실려면 패킷 검출용 툴 돌리시면서 브라우저서에서 접속 하신후 가고 오는것은 잡으셔서 그중 필요 없는것 빼버리고 사용하시면 될겁니다. 즐거운 하루 되세요.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.