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
}

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

?

List of Articles
번호 분류 제목 날짜 조회 수
87 컴퓨터잡담 파이썬 Beautifulsoup html의 특정 주소만 가져오기 file 2021.06.14 2986
86 회로도전자부품 555 TIMER AM TRANSMITTER CIRCUIT(AM 송신 회로) 2015.12.01 3691
85 컴퓨터잡담 [autohotkey] 시스템 레지스트리 수정, 삭제 1 3 2010.08.14 8062
84 AutoHotKey Autohotkey 브라우저 제어 테스트 file 2015.01.26 8203
83 컴퓨터잡담 [autohotkey] 시스템 레지스트리 수정, 삭제 2010.08.14 8487
82 AutoHotKey ahk) Send an email 메일발송하기 2018.01.17 9390
81 AutoHotKey Autohotkey] 키보드 후킹 테스트 file 2018.07.07 9681
80 컴퓨터잡담 AHK_L) SysListView321 컨트롤 내용 추출하기 2011.10.07 9893
79 [Docs]스프레드시트 스프레드시트 autohotkey html gmail 스마트폰 이용하여 핑로스 즉시 알림받기 file 2018.01.25 10578
78 컴퓨터잡담 autohotkey - 변수리스트(Variables and Expressions) 모음 2011.09.30 11830
77 AutoHotKey Ahk) ip할당 진단프로그램 file 2011.12.26 12119
76 AutoHotKey ahk) autohotkey controlgettext 이름을 마우스커서에 졸졸 따라다니게 하기 file 2014.04.01 12182
75 AutoHotKey 부팅완료 메시지 프로그램 file 2011.12.17 12719
74 컴퓨터잡담 AHK & my Address of Pointer and my Offset 2011.10.11 13183
73 컴퓨터잡담 [AHK] AutoHotkey_N, AutoHotkey.dll 1 2011.07.28 13562
72 컴퓨터잡담 [AHK] COM Standard Library 1 1 2011.07.28 13588
71 컴퓨터잡담 Ahk Standard Library Collection, 2010 Sep (+Gui) ~ Libs: 100 3 2011.10.11 14189
70 AutoHotKey 웹페이지의 내용을 변수에 넣기 2011.02.17 14492
69 컴퓨터잡담 IE 훅킹 혹은 가로채기. 강좌 2 2011.12.17 14604
68 AutoHotKey 클릭해서 새창열리는 페이지에 클릭 또는 값설정 가능한가요? 2011.02.22 14723
Board Pagination Prev 1 2 3 4 5 Next
/ 5

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소