Travaillant plusieurs jours sur un projet nommé « Servator », j’ai enfin terminé. Le concept est un simple serveur, comme Wamp, qui marche en TCP/IP. Le problème est que le php n’est pas supporté et IPv6 non plus. En ce qui concerne le php, j’ai déjà commencé avec un code normal, du genre :
Code : Tout sélectionner
<?php
$i = "123hello";
echo $i ;
?>
Servator a écrit :Liste que peut faire Servator :
- Html
- Css
- Images
- Polices
To do :
- PHP
- IPv6
- JS (pas fonctionnel)
► Afficher le texte
Code : Tout sélectionner
;=======================================================
;=======================-INCLUDES-======================
;=======================================================
#include <String.au3>
#include <Array.au3>
#include <Constants.au3>
;=======================================================
;======================-VARIABLES-======================
;=======================================================
Dim $aEXTMIME[999][999] = [["jpg", "image/jpeg"], _
["png", "image/png"],["gif", "image/gif"],["ttf", _
"font/ttf"],["js", "text/javascript"]]
Dim $i = 1
Dim $sFile = ""
;=======================================================
;========================-SCRIPT-=======================
;=======================================================
HotKeySet("²", "exit_")
TCPStartup()
$MainSocket = TCPListen(@IPAddress1, 8080)
ShellExecute("http://" & @IPAddress1 & ":" & 8080 & "/test1/index.html")
While $i <> -1
$socket = TCPAccept($MainSocket)
$sRecv = TCPRecv($socket, 1024 ^ 2)
$sFile = _ArrayGetString(_StringBetween($sRecv, "GET /", " HTTP/1.1"), 0)
If $sRecv <> "" Then
If $sFile = "" Or $sFile = " " Then
$html = FileRead(@ScriptDir & "\www\index.html")
If $html = "" Then
$html = '<!DOCTYPE html><html><head><meta charset="utf-8" /><title>ServatorX/2.0 - Page d''accueil</title></head><body><h2>Bonjour étranger, tu es sur la page d''accueil du serveur <h1>ServatorX/2.0</h1></h2><p>Accéder à une page 404 : <br /> <a href="/sdfldkfjsdkfjgbqdkvn,gqdlktjdjbvsdjfhgpqihfq">ICI' & _
'</a></p><p></body></html>'
EndIf
TCPSend($socket, _
Binary("HTTP/1.1 200 OK" & @CRLF & _
"Server: ServatorX/2.0 (" & @OSVersion & ") AutoIt " & @AutoItVersion & @CRLF & _
"Connection: close" & @CRLF & _
"Content-Lenght: " & StringLen($html) & @CRLF & _
"Content-Type: text/html" & @CRLF & _
@CRLF & _
$html))
TCPCloseSocket($socket)
ElseIf FileExists(@ScriptDir & "\www\" & $sFile) = False Then
$html = FileRead(@ScriptDir & "\www\404.html")
If $html = "" Or @error Then
$html = '<!DOCTYPE html><html><head><meta charset="utf-8" /><title>ServatorX/2.0 - Erreur 404</title></head><body><h1>Erreur 404</h1><p>La page que vous cherchiez n''existe pas, ou n''a pas pu etre trouvée.</p></body></html>'
EndIf
TCPSend($socket, _
Binary("HTTP/1.1 200 OK" & @CRLF & _
"Server: ServatorX/2.0 (" & @OSVersion & ") AutoIt " & @AutoItVersion & @CRLF & _
"Connection: close" & @CRLF & _
"Content-Lenght: " & StringLen($html) & @CRLF & _
"Content-Type: text/html" & @CRLF & _
@CRLF & _
$html))
TCPCloseSocket($socket)
ElseIf FileExists(@ScriptDir & "\www\" & $sFile) And _FileGetExtension($sFile) = "html" Then
$fileread = FileRead(@ScriptDir & "\www\" & $sFile)
TCPSend($socket, _
Binary("HTTP/1.1 200 OK" & @CRLF & _
"Server: ServatorX/2.0 (" & @OSVersion & ") AutoIt " & @AutoItVersion & @CRLF & _
"Connection: close" & @CRLF & _
"Content-Lenght: " & StringLen($fileread) & @CRLF & _
"Content-Type: text/html" & @CRLF & _
@CRLF & _
$fileread))
TCPCloseSocket($socket)
ElseIf FileExists(@ScriptDir & "\www\" & $sFile) And _FileGetExtension($sFile) = "css" Then
$css = FileRead(@ScriptDir & "\www\" & $sFile)
TCPSend($socket, _
Binary("HTTP/1.1 200 OK" & @CRLF & _
"Server: ServatorX/2.0 (" & @OSVersion & ") AutoIt " & @AutoItVersion & @CRLF & _
"Connection: close" & @CRLF & _
"Content-Type: text/css" & @CRLF & _
@CRLF & _
$css))
TCPCloseSocket($socket)
ElseIf FileExists(@ScriptDir & "\www\" & $sFile) Then
$css = FileRead(@ScriptDir & "\www\" & $sFile)
$ext = _FileGetExtension($sFile)
$mime = ""
For $i = 0 To 3
If $ext = $aEXTMIME[$i][0] Then
$mime = $aEXTMIME[$i][1]
ExitLoop
EndIf
Next
If $mime <> "" Then
TCPSend($socket, _
Binary("HTTP/1.1 200 OK" & @CRLF & _
"Server: ServatorX/2.0 (" & @OSVersion & ") AutoIt " & @AutoItVersion & @CRLF & _
"Connection: close" & @CRLF & _
"Content-Type: " & $mime & @CRLF & _
@CRLF & _
$css))
TCPCloseSocket($socket)
EndIf
EndIf
EndIf
WEnd
Func exit_()
$i = -1
EndFunc ;==>exit_
Func _ArrayGetString($aArray, $iI)
If IsArray($aArray) = False Then
SetError(-1)
Return -1
EndIf
Return $aArray[$iI]
EndFunc ;==>_ArrayGetString
Func _FileGetExtension($sFile)
Return _ArrayGetString(StringSplit($sFile, "."), _ArrayGetString(StringSplit($sFile, "."), 0))
EndFunc ;==>_FileGetExtension
- www.zip
- /!\ Mettre le dossier "www" dans le dossier où il y a le script, pour qu'il y ait :
- script.au3
- www - (851.04 Kio) Téléchargé 259 fois
Voilà, en espérant que vous aimerez.MÀJ a écrit :16/06 : Script fini, v1
17/06 : Bugs mineurs corrigés, v1.01
Alex1205