- Offizieller Beitrag
Hi,
ich habe mal den Online Html-Generator "hilite.me" getestet. Enthält auch AutoIt als Source. Nun habe ich versucht über die API darauf zuzugreifen. Doch das ist fehlerhaft. Ich habe getestet: ConsoleWrite("Hallo Welt!" & @CRLF)
Im Return ist dann nur das blau gefärbte enthalten, das rot gefärbte fehlt. Was läuft da verkehrt?
Spoiler anzeigen
Spoiler anzeigen
$sCode = 'ConsoleWrite("Hallo Welt!" & @CRLF)'
ConsoleWrite(_GetStyledHtml($sCode) & @LF)
Func _GetStyledHtml($_sCode, $_sLexer='autoit', $_sStyle='emacs', $_iLineNum=1, $_sDivStyle='')
Local $sPostData = "code=" & $_sCode & "&lexer=" & $_sLexer & "&style=" & $_sStyle & "&linenos=" & $_iLineNum & "&divstyles=" & $_sDivStyle
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("POST", "http://hilite.me/api", False)
$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded")
$oHTTP.Send($sPostData)
Return $oHTTP.ResponseText
EndFunc
#cs
# hilite.me API documentation
GET or POST to http://hilite.me/api with these parameters:
* code: source code to format
* lexer: [lexer](http://pygments.org/docs/lexers/) to use, default it 'python'
* options: optional comma-separated list of lexer options
* style: [style](http://pygments.org/docs/styles/) to use, default is 'colorful'
* linenos: if not empty, the HTML will include line numbers
* divstyles: CSS style to use in the wrapping <div> element, can be empty
The request will return the HTML code in UTF-8 encoding.
#ce
Ein weiteres Problem: Da UTF-8 codiert wird, sind natürlich alle Nicht-ASCII Zeichen geschrottet. Wie könnte man das umgehen?