Bueno sin mucho que decir aquí dejo la UDF que hice para la herramienta.

requiere WinHttp.au3.
Programado Por Pink 16/09/2013
;Gracias: WinHttp Creadores & [url]http://www.bytescanner.com[/url]
#include "WinHttp.au3"
#include <String.au3>



Global Const $s_ByteScanner_Page='www.bytescanner.com'
Global Enum $eAPI_HttpOpen, $eAPI_HttpConnect
Global Enum $e_Login,$e_Scan,$e_Report
Global Const $BS[3]=['/client2api.php','/startup.php','/api2client.php?action=scanResult&ResultID=']




Func BS_Conectar()
    Local $aAPI[2] = [0, 0]
    $aAPI[$eAPI_HttpOpen] = _WinHttpOpen()
    If @error Then $aAPI[$eAPI_HttpOpen] = -1
    $aAPI[$eAPI_HttpConnect] = _WinHttpConnect($aAPI[$eAPI_HttpOpen], $s_ByteScanner_Page)
    If @error Then $aAPI[$eAPI_HttpConnect] = -1
    Return $aAPI
EndFunc ;==BS_Conectar

Func BS_Cerrar(ByRef Const $aAPI)
    ;ConsoleWrite($aAPI[$eAPI_HttpOpen] & @crlf)
    ;ConsoleWrite($aAPI[$eAPI_HttpConnect] & @crlf)
    _WinHttpCloseHandle($aAPI[$eAPI_HttpOpen])
    _WinHttpCloseHandle($aAPI[$eAPI_HttpConnect])
    Return True
EndFunc   ;==>BS_Cerrar



Func B_S(ByRef $aAPI, $Type, $Email_o_File='',$Pass_o_SeID='')

If $aAPI[$eAPI_HttpConnect] = -1 Then $aAPI = BS_Conectar()

Select

Case $Type = $e_Login
Local $PHPSESSID='',$Success=0
Local $Request=_WinHttpSimpleRequest($aAPI[$eAPI_HttpConnect], "POST", $BS[$e_Login], Default, "action=Auth&email=" & $Email_o_File & "&password=" & $Pass_o_SeID,"",True)
if @error then Return $PHPSESSID
$PHPSESSID=_StringBetween($Request[0],"PHPSESSID=",";")
If @error then Return $PHPSESSID
$Success=_StringBetween($Request[1],'"success":',",")
If @error then Return $PHPSESSID
;consolewrite("Cookie: " & $PHPSESSID[0] & @CRLF)
;consolewrite("Success: " & $Success[0] & @CRLF)
$Success=$Success[0]
$PHPSESSID= $PHPSESSID[0]
If $Success="true" then
Return $PHPSESSID
EndIf

Case $Type=$e_Scan

Local $sBoundary = "------WebKitFormBoundaryuSRq3mUjCFgkz44l"
Local $sHeaders = "Content-Type: multipart/form-data; boundary=" & $sBoundary & @CRLF
$sHeaders &="Cookie: PHPSESSID=" & $Pass_o_SeID & @CRLF

Local $sData = ''
$sData &= "--" & $sBoundary & @CRLF
$sData &= 'Content-Disposition: form-data; name="action"' & @CRLF & @CRLF & "BinaryFileTransfer" & @CRLF
$sData &= "--" & $sBoundary & @CRLF
$sData &= __WinHttpFileContent("", "binaryFile", $Email_o_File,$sBoundary)
$sData &= "--" & $sBoundary & "--" & @CRLF


Local $Request=_WinHttpSimpleRequest($aAPI[$eAPI_HttpConnect], "POST", $BS[$e_Scan], Default, StringToBinary($sData,0), $sHeaders)
Local $ResultID=_StringBetween($Request,'"root":',',')
Local $Success=_StringBetween($Request,'"success":',',')
$Success=$Success[0]
$ResultID= $ResultID[0]
if $Success="true" Then
Return $ResultID
EndIf

Case $e_Report
Local $Request=_WinHttpSimpleRequest($aAPI[$eAPI_HttpConnect], "GET", "/api2client.php?action=scanResult&ResultID=" & $Email_o_File)
if Not(@error) then return $Request
Case Else
        SetError(3)
EndSelect

EndFunc   ;==>B_S
saludos
Imagen
Responder

Volver a “Fuentes”