Nicht angemeldet.
Hier können Sie Ihre eigenen Skripte und UDF's veröffentlichen undanderen zum Download anbieten oder von anderen herunterladen
#include-once ;=============================================================================== ; ; Function Name: _INetGetSourcePost() ; Description: Gets the source from an URL without writing a temp file and you can send a Post. ; Parameter(s): $sURL = The URL of the site. ; $sPost = The Post to send ; Requirement(s): - ; Return Value(s): On Success - Return a array with $aReturn[0] = Backheader and $aReturn[1] = Sourcecode ; On Failure - 0 and sets @ERROR ; @error = 1: Post or URL is nothing ; @error = 2: Error by RegularExpression ; @error = 3: $sHost or $sHttp1 is nothing ; @error = 4: Can not get IP of Host ; @error = 5: Can not connect to host ; @error = 6: Nothing can be send ; @error = 7: Connection abborted while receiving ; Author(s): GtaSpider ; ;=============================================================================== Func _INetGetSourcePost($sURL, $sPost) Local $iSocket, $sHeader, $sRecv, $iIP, $sHost, $aRegExp, $sHttp1,$iErr,$iSend,$aReturn[2] If $sURL = '' Or $sPost = '' Then Return SetError(1, 0, 0) If StringLeft($sURL, 7) <> 'http://' And StringLeft($sURL, 8) <> 'https://' Then $sURL = "http://" & $sURL If StringRight($sURL, 1) <> "/" Then $sURL &= "/" $aRegExp = StringRegExp($sURL, "http?://(.*?)/", 3) If @error Then Return SetError(2, 0, 0) $sHost = $aRegExp[0] If $sHost = '' Then Return SetError(3, 0, 0) $sHttp1 = StringTrimLeft($sURL,StringInStr($sURL,"/",-1,3)-1) If $sHttp1 = '' Then Return SetError(3, 0, 0) $sHeader = "POST " & $sHttp1 & " HTTP/1.1" & @CRLF & _ "Host: " & $sHost & @CRLF & _ "User-Agent: AutoIt.At" & @CRLF & _ "Content-Length: " & StringLen($sPost) & @CRLF & @CRLF & $sPost TCPStartup() ;If not already done $iIP = TCPNameToIP($sHost) If $iIP = '' Or StringInStr($iIP, ".") = 0 Then Return SetError(4, 0, 0) $iSocket = TCPConnect($iIP, 80) If @error Or $iSocket < 0 Then Return SetError(5, 0, 0) $iSend = TCPSend($iSocket, $sHeader) If @error Or $iSend < 1 Then Return SetError(6, 0, 0) While 1 $sRecv = TCPRecv($iSocket, 1024) $iErr = @error If $sRecv <> '' Then While 1 $sRecv &= TCPRecv($iSocket, 1024) If @error Then ExitLoop 2 WEnd EndIf If $iErr Then Return SetError(7,0,0) WEnd $aReturn[0] = StringLeft($sRecv,StringInStr($sRecv,@CRLF&@CRLF)-1) $aReturn[1] = StringTrimLeft($sRecv,StringLen($aReturn[0])+4) Return $aReturn EndFunc ;==>_INetGetSourcePost
Dauerhaft angemeldet bleiben?