Skip to content
AutoHotKey
2011.02.09 19:19

UrlDownloadToVar()

조회 수 15464 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

UrlDownloadToVar()


스크립트에 대한 설명: 

제목 그대로 UrlDownloadToFile 명령을 확장시켜준 함수입니다.
당연히 공식 포럼에서 퍼온 자료입니다.
http://www.autohotkey.com/forum/topic10466.html


보통 웹페이지의 소스에서 원하는 내용을 추출할때
UrlDownloadToFile 명령으로 해당 소스를 파일로 다운로드후
FileRead 명령등으로 내용을 변수에 읽어들여 String 처리를 하게 됩니다.

UrlDownloadToVar()명령을 사용하면 변수로 해당 내용을 바로 받을 수 있습니다.

아래 예제는 IE의 주소창의 주소를 사용해서 해당 페이지의 소스를 출력해 줍니다.

^RButton:: 
WinGetTitle,Title,A
SetTitleMatchMode,3
ControlGetText,url,Edit1,%Title%
res:=UrlDownloadToVar(url,src)
msgbox,%src%
reload
return



<--------------------------------------------- AHK 스크립트 내용 --------------------------------------------->

;http://www.autohotkey.com/forum/topic10466.html

UrlDownloadToVar(URL, Proxy="", ProxyBypass="") {
AutoTrim, Off
hModule := DllCall("LoadLibrary", "str", "wininet.dll")

If (Proxy != "")
AccessType=3
Else
AccessType=1
;INTERNET_OPEN_TYPE_PRECONFIG                    0   // use registry configuration
;INTERNET_OPEN_TYPE_DIRECT                       1   // direct to net
;INTERNET_OPEN_TYPE_PROXY                        3   // via named proxy
;INTERNET_OPEN_TYPE_PRECONFIG_WITH_NO_AUTOPROXY  4   // prevent using java/script/INS

io_hInternet := DllCall("wininet\InternetOpenA"
, "str", "" ;lpszAgent
, "uint", AccessType
, "str", Proxy
, "str", ProxyBypass
, "uint", 0) ;dwFlags

iou := DllCall("wininet\InternetOpenUrlA"
, "uint", io_hInternet
, "str", url
, "str", "" ;lpszHeaders
, "uint", 0 ;dwHeadersLength
, "uint", 0x80000000 ;dwFlags: INTERNET_FLAG_RELOAD = 0x80000000 // retrieve the original item
, "uint", 0) ;dwContext

If (ErrorLevel != 0 or iou = 0) {
DllCall("FreeLibrary", "uint", hModule)
return 0
}

VarSetCapacity(buffer, 512, 0)
VarSetCapacity(NumberOfBytesRead, 4, 0)
Loop
{
  irf := DllCall("wininet\InternetReadFile", "uint", iou, "uint", &buffer, "uint", 512, "uint", &NumberOfBytesRead)
  NOBR = 0
  Loop 4  ; Build the integer by adding up its bytes. - ExtractInteger
    NOBR += *(&NumberOfBytesRead + A_Index-1) << 8*(A_Index-1)
  IfEqual, NOBR, 0, break
  ;BytesReadTotal += NOBR
  DllCall("lstrcpy", "str", buffer, "uint", &buffer)
  res = %res%%buffer%
}
StringTrimRight, res, res, 2

DllCall("wininet\InternetCloseHandle",  "uint", iou)
DllCall("wininet\InternetCloseHandle",  "uint", io_hInternet)
DllCall("FreeLibrary", "uint", hModule)
AutoTrim, on
return, res
}

로그인 후 댓글쓰기가 가능합니다.

?

  1. 09
    Feb 2011
    19:19

    UrlDownloadToVar()

    CategoryAutoHotKey Views15464
    Read More
  2. 17
    Feb 2011
    07:17

    WinMenuSelectItem로 메뉴선택하기

    CategoryAutoHotKey Views16302
    Read More
  3. 28
    Jul 2011
    22:45

    [AHK] AutoHotkey_N, AutoHotkey.dll

    Category컴퓨터잡담 Views13563
    Read More
  4. 28
    Jul 2011
    23:38

    [AHK] COM Standard Library

    Category컴퓨터잡담 Views13588
    Read More
  5. 16
    Feb 2011
    06:30

    [ahk] 다른 프로그램의 트레이 아이콘을 숨기기

    CategoryAutoHotKey Views19029
    Read More
  6. 14
    Feb 2011
    16:44

    [ahk] 레지스터리 등록여부 확인 후 없으면 추가시키기

    CategoryAutoHotKey Views14977
    Read More
  7. 25
    Feb 2011
    08:54

    [ahk]웹페이지가 띄워진 창 내용을 추출하여 로딩이 완료되었는지를 확인할 수 있는 소스

    CategoryAutoHotKey Views14748
    Read More
  8. 08
    Aug 2011
    12:57

    [AHK_B&AHK_L] 익스플로러 HTML 문서정보 알아내기(IE HTML Element Spy)

    CategoryAutoHotKey Views15160
    Read More
  9. 02
    Aug 2011
    17:03

    [AHK_B&AHK_L] 엑셀 제어 비교.

    CategoryAutoHotKey Views20254
    Read More
  10. 11
    Feb 2011
    16:55

    [ahk_l] 구글의 Gmail 자동로그인 소스

    CategoryAutoHotKey Views22494
    Read More
  11. 16
    Feb 2011
    07:05

    [ahk_l] 섬세한 인터넷 자동검색

    CategoryAutoHotKey Views18185
    Read More
  12. 02
    Aug 2011
    16:39

    [AHK_L] 현재 열려진 인터넷 창 값 가져오기

    CategoryAutoHotKey Views16575
    Read More
  13. 04
    Feb 2011
    23:27

    [AUTOHOTKEY] FTP 제어

    CategoryAutoHotKey Views25247
    Read More
  14. 05
    Feb 2011
    08:19

    [autohotkey] FTP-업로드 예제분석

    CategoryAutoHotKey Views18645
    Read More
  15. 14
    Aug 2010
    23:31

    [autohotkey] 시스템 레지스트리 수정, 삭제

    Category컴퓨터잡담 Views8489
    Read More
  16. 14
    Aug 2010
    23:31

    [autohotkey] 시스템 레지스트리 수정, 삭제

    Category컴퓨터잡담 Views8062
    Read More
  17. 19
    Dec 2009
    15:15

    [Autohotkey] 인터넷 창을 여러개 띄우고 컨트롤 할때 ahk_id 알아내기

    Category컴퓨터잡담 Views19463
    Read More
  18. 12
    Feb 2011
    00:31

    [COM] 자바스크립트 / DOM / HTML 웹페이지 컨트롤

    CategoryAutoHotKey Views27305
    Read More
  19. 09
    Feb 2011
    19:14

    부팅 완료 체크

    CategoryAutoHotKey Views17864
    Read More
  20. 17
    Dec 2011
    17:24

    부팅완료 메시지 프로그램

    CategoryAutoHotKey Views12721
    Read More
Board Pagination Prev 1 2 3 4 5 Next
/ 5

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소