Wenn du ein API-Key schützen willst ist crypten doch sowieso keine Lösung da er unverschlüsselt irgendwie übertragen werden muss und man das sehr einfach mitsniffen kann.
Beiträge von BiNu
-
-
Ich möchte also ein beliebiges File automatisiert hoch laden den Link dazu per Mail auf mein Tablet senden.
Nach längerem suchen hab ich den Hoster anonfiles gefunden der gratis ist und auch grosse files (~150mb) zulässt.
AGBs gibts hier https://anonfiles.com/terms und eine API hier https://anonfiles.com/api/help scheint also erlaubt/erwünscht zu sein
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <WinHTTP.au3>
#include <Array.au3>$hSession = _WinHttpOpen("Mozilla/5.0 (Windows NT 5.1; rv:6.0) Gecko/20100101 Firefox/6.0")
[/autoit][autoit][/autoit][autoit]
$hConnect = _WinHttpConnect($hSession, "anonfiles.com")Dim $aFields[2][3] = [["file", "",@ScriptDir & "\test.txt"],["filename", "test.txt"]]
[/autoit][autoit][/autoit][autoit]
Dim $aFields[1][3] = [["file", "",@ScriptDir & "\test.txt"]]
;_ArrayDisplay($aFields)$aMultiPart = __EncodeMultipartFormData($aFields)
[/autoit][autoit][/autoit][autoit]
;_ArrayDisplay($aMultiPart)
$sReturn = _WinHttpSimpleRequest($hConnect, "POST", "/api", "", $aMultiPart[1], "Content-Type: multipart/form-data; boundary=" & $aMultiPart[0])
ConsoleWrite($sReturn & @CRLF)_WinHttpCloseHandle($hConnect)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
_WinHttpCloseHandle($hSession)Func __EncodeMultipartFormData($aFields)
[/autoit][autoit][/autoit][autoit]
#cs Arrayaufbau:
[x][0] = Name
[x][1] = Content (normal: "")
[x][2] = File (normal: "")
#ceLocal $sBoundary = StringFormat("%s%.5f", "----BoundaryLine_", Random(10000, 99999))
[/autoit][autoit][/autoit][autoit]
Local $sData, $hOpen, $sFile, $aTempArrayFor $i = 0 To UBound($aFields, 1) - 1
[/autoit][autoit][/autoit][autoit]
If $aFields[$i][2] <> '' Then
$hOpen = FileOpen($aFields[$i][2], 0)
$sFile = FileRead($hOpen)
FileClose($hOpen)
$sData &= "--" & $sBoundary & @CRLF & _
'Content-Disposition: form-data; name="' & $aFields[$i][0] & '"; filename="' & StringRegExpReplace($aFields[$i][2], ".*\\", "") & '"' & @CRLF & _
"Content-Type: " & __MIMEType($aFields[$i][2]) & @CRLF & @CRLF & _
$sFile & @CRLF
Else
$sData &= "--" & $sBoundary & @CRLF & _
'Content-Disposition: form-data; name="' & $aFields[$i][0] & '"' & @CRLF & @CRLF & _
$aFields[$i][1] & @CRLF
EndIf
Next
$sData &= "--" & $sBoundary & "--"
Dim $aTempArray[2] = [$sBoundary, $sData]
Return $aTempArray
EndFunc ;==>__EncodeMultipartFormDataFunc __MIMEType($sFileName) ;Aus der WinHTTP.au3
[/autoit][autoit][/autoit][autoit]
Local $aArray = StringRegExp(__MIMEAssocString(), "(?i)\Q;" & StringRegExpReplace($sFileName, ".*\.", "") & "\E\|(.*?);", 3)
If @error Then Return "application/octet-stream"
Return $aArray[0]
EndFunc ;==>__MIMETypeFunc __MIMEAssocString();Aus der WinHTTP.au3
[/autoit][autoit][/autoit][autoit][/autoit]
Return ";ai|application/postscript;aif|audio/x-aiff;aifc|audio/x-aiff;aiff|audio/x-aiff;asc|text/plain;atom|application/atom+xml;au|audio/basic;avi|video/x-msvideo;bcpio|application/x-bcpio;bin|application/octet-stream;bmp|image/bmp;cdf|application/x-netcdf;cgm|image/cgm;class|application/octet-stream;cpio|application/x-cpio;cpt|application/mac-compactpro;csh|application/x-csh;css|text/css;dcr|application/x-director;dif|video/x-dv;dir|application/x-director;djv|image/vnd.djvu;djvu|image/vnd.djvu;dll|application/octet-stream;dmg|application/octet-stream;dms|application/octet-stream;doc|application/msword;dtd|application/xml-dtd;dv|video/x-dv;dvi|application/x-dvi;dxr|application/x-director;eps|application/postscript;etx|text/x-setext;exe|application/octet-stream;ez|application/andrew-inset;gif|image/gif;gram|application/srgs;grxml|application/srgs+xml;gtar|application/x-gtar;hdf|application/x-hdf;hqx|application/mac-binhex40;htm|text/html;html|text/html;ice|x-conference/x-cooltalk;ico|image/x-icon;ics|text/calendar;ief|image/ief;ifb|text/calendar;iges|model/iges;igs|model/iges;jnlp|application/x-java-jnlp-file;jp2|image/jp2;jpe|image/jpeg;jpeg|image/jpeg;jpg|image/jpeg;js|application/x-javascript;kar|audio/midi;latex|application/x-latex;lha|application/octet-stream;lzh|application/octet-stream;m3u|audio/x-mpegurl;m4a|audio/mp4a-latm;m4b|audio/mp4a-latm;m4p|audio/mp4a-latm;m4u|video/vnd.mpegurl;m4v|video/x-m4v;mac|image/x-macpaint;man|application/x-troff-man;mathml|application/mathml+xml;me|application/x-troff-me;mesh|model/mesh;mid|audio/midi;midi|audio/midi;mif|application/vnd.mif;mov|video/quicktime;movie|video/x-sgi-movie;mp2|audio/mpeg;mp3|audio/mpeg;mp4|video/mp4;mpe|video/mpeg;mpeg|video/mpeg;mpg|video/mpeg;mpga|audio/mpeg;ms|application/x-troff-ms;msh|model/mesh;mxu|video/vnd.mpegurl;nc|application/x-netcdf;oda|application/oda;ogg|application/ogg;pbm|image/x-portable-bitmap;pct|image/pict;pdb|chemical/x-pdb;pdf|application/pdf;pgm|image/x-portable-graymap;pgn|application/x-chess-pgn;pic|image/pict;pict|image/pict;png|image/png;pnm|image/x-portable-anymap;pnt|image/x-macpaint;pntg|image/x-macpaint;ppm|image/x-portable-pixmap;ppt|application/vnd.ms-powerpoint;ps|application/postscript;qt|video/quicktime;qti|image/x-quicktime;qtif|image/x-quicktime;ra|audio/x-pn-realaudio;ram|audio/x-pn-realaudio;ras|image/x-cmu-raster;rdf|application/rdf+xml;rgb|image/x-rgb;rm|application/vnd.rn-realmedia;roff|application/x-troff;rtf|text/rtf;rtx|text/richtext;sgm|text/sgml;sgml|text/sgml;sh|application/x-sh;shar|application/x-shar;silo|model/mesh;sit|application/x-stuffit;skd|application/x-koan;skm|application/x-koan;skp|application/x-koan;skt|application/x-koan;smi|application/smil;smil|application/smil;snd|audio/basic;so|application/octet-stream;spl|application/x-futuresplash;src|application/x-wais-source;sv4cpio|application/x-sv4cpio;sv4crc|application/x-sv4crc;svg|image/svg+xml;swf|application/x-shockwave-flash;t|application/x-troff;tar|application/x-tar;tcl|application/x-tcl;tex|application/x-tex;texi|application/x-texinfo;texinfo|application/x-texinfo;tif|image/tiff;tiff|image/tiff;tr|application/x-troff;tsv|text/tab-separated-values;txt|text/plain;ustar|application/x-ustar;vcd|application/x-cdlink;vrml|model/vrml;vxml|application/voicexml+xml;wav|audio/x-wav;wbmp|image/vnd.wap.wbmp;wbmxl|application/vnd.wap.wbxml;wml|text/vnd.wap.wml;wmlc|application/vnd.wap.wmlc;wmls|text/vnd.wap.wmlscript;wmlsc|application/vnd.wap.wmlscriptc;wrl|model/vrml;xbm|image/x-xbitmap;xht|application/xhtml+xml;xhtml|application/xhtml+xml;xls|application/vnd.ms-excel;xml|application/xml;xpm|image/x-xpixmap;xsl|application/xml;xslt|application/xslt+xml;xul|application/vnd.mozilla.xul+xml;xwd|image/x-xwindowdump;xyz|chemical/x-xyz;zip|application/zip;"
EndFunc ;==>__MIMEAssocString -
[autoit]Zitat
BugFix: Lösung: Maskieren "&&" ergibt im Label "&"
BugFix: in Controls wird nur das "&" maskiert, da anderenfalls damit der Folgebuchstabe bei Druck auf <Alt> unterstrichen zur Auswahl gestellt wird
StringReplace($string,"&","&&"))
[/autoit]
-
Wie im Bild ersichtlich wird das &-Zeichen zu einem _ (Unterstrich) unter den nächsten Buchstaben.
Wie kommt das und wie behebe ich das?[Blockierte Grafik: http://t.imgbox.com/acs4IwD4.jpg]
Test code
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]Example()
[/autoit] [autoit][/autoit] [autoit]Func Example()
[/autoit] [autoit][/autoit] [autoit]
Local $widthCell, $msg, $iOldOptGUICreate("My GUI") ; will create a dialog box that when displayed is centered
[/autoit] [autoit][/autoit] [autoit]GUISetHelp("notepad.exe") ; will run notepad if F1 is typed
[/autoit] [autoit][/autoit] [autoit]
$iOldOpt = Opt("GUICoordMode", 2)$widthCell = 70
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("XXXXX&XXXXX", 10, 30, $widthCell) ; first cell 70 width
GUICtrlCreateLabel("XXXXX&&XXXXX", 10, 30, $widthCell) ; first cell 70 width
GUICtrlCreateLabel("XXXXX&&&XXXXX", 10, 30, $widthCell) ; first cell 70 widthGUISetState() ; will display an empty dialog box
[/autoit] [autoit][/autoit] [autoit]; Run the GUI until the dialog is closed
[/autoit] [autoit][/autoit] [autoit]
Do
$msg = GUIGetMsg()
Until $msg = $GUI_EVENT_CLOSE$iOldOpt = Opt("GUICoordMode", $iOldOpt)
[/autoit]
EndFunc ;==>Example