Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #SingleInstance, force
- #Include %A_ScriptDir%\AHKsock.ahk
- global hEdit
- Gui,Add,Edit,r20 vInfoLog w400 x0 y0 ReadOnly ReadOnly hwndhEdit
- Gui,+Resize
- Gui,Show
- AHKsock_Listen(80, "Receive")
- Return
- Receive(sEvent, iSocket = 0, sName = 0, sAddr = 0, sPort = 0, ByRef bData = 0, bDataLength = 0)
- {
- global iSock:=iSocket
- ;MsgBox,% "Event: " . sEvent . "`nName: " . sName . "`nAddress: " . sAddr . "`nSocket: " . iSocket . "`nData:`n" . StrGet(&bData,bDataLength,"UTF-8") . "`nDataLen: " . bDataLength
- sData:=StrGet(&bData,bDataLength,"UTF-8")
- sData:=RegExReplace(sData,"`n","``n`n")
- sData:=RegExReplace(sData,"`r","``r`r")
- global sOutput:=sOutput . sEvent . " " . sData . " - " . bDataLength . "`r`n"
- if (sEvent="SEND")
- {
- FileRead,sPageContent,myPage.htm
- sPageContent:="HTTP/1.1 200 OK`n`rCONTENT-LENGTH: " . StrLen(sPageContent) . "`n`r`n`r" . sPageContent
- AHKSend(sPageContent)
- }
- ;if sEvent=DISCONNECTED
- ;ExitApp
- GuiControl,,InfoLog,% sOutput
- global hEdit
- sendmessage, 0x115, 7, 0,, ahk_id %hEdit%
- }
- return
- GuiSize:
- if ErrorLevel=1
- return
- GuiControl,Move,InfoLog,X0 Y0 W%A_GuiWidth% H%A_GuiHeight%
- Return
- GuiClose:
- ExitApp
- Return
- AHKSend(sMsg)
- {
- global iSock
- if (RegExMatch(sMsg,"`r`n")=0)
- sMsg:=sMsg . "`r`n"
- nDataLen:=strlen(sMsg)
- VarSetCapacity(sData,nDataLen)
- StrPut(sMsg,&sData,"UTF-8")
- ;sData:=sMsg
- ;nDataLen:=StrLen(sData)*2
- if (i:=AHKsock_Send(iSock,&sData,nDataLen))<0
- msgbox,% "ERROR " . i
- global sOutput:=sOutput . "SENT """ . StrGet(&sData,nDataLen,"UTF-8") . """ - " . nDataLen . "`r`n"
- GuiControl,,WEBOutput,% sOutput
- global hEdit
- sendmessage, 0x115, 7, 0,, ahk_id %hEdit%
- return i
- }
- /*
- AHKSend(sMsg)
- {
- global iSock
- if (i:=AHKsock_Send(iSock,&sMsg,StrLen(sMsg)))<0
- msgbox,% "ERROR " . i
- global sOutput:=sOutput . "SENT """ . sMsg . """ - " . StrLen(sMsg) . "`r`n"
- GuiControl,,InfoLog,% sOutput
- return i
- }
- */
Advertisement
Add Comment
Please, Sign In to add comment