|
|
Line 1: |
Line 1: |
| {{PageAuthor|Takhir}}
| | Unbelievable how well-wrtiten and informative this was. |
| | |
| == Links ==
| |
| | |
| Download:<br>
| |
| <attach>Inetc.zip</attach><br>
| |
| | |
| [http://forums.winamp.com/showthread.php?threadid=198596 Forum thread]
| |
| | |
| Very true! Makes a canhge to see someone spell it out like that. :)
| |
| | |
| == Command line ==
| |
| | |
| Plug-in DLL functions (entry points): get, post, head, put
| |
| | |
| === get DLL Function ===
| |
| | |
| <highlight-nsis>inetc::get [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD]
| |
| [/NOPROXY] [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT]
| |
| [/CAPTION TEXT] [/NOCOOKIES] [/RESUME RETRY_QUESTION] [/POPUP HOST_ALIAS | /BANNER TEXT]
| |
| [/CANCELTEXT CANCEL_TEXT] [/QUESTION CANCEL_QUESTION] [/USER_AGENT USER_AGENT_TEXT]
| |
| [/HEADER HEADER_TEXT] [/TRANSLATE LANG_PARAMS]
| |
| URL1 local_file1 [URL2 local_file2 [...]] [/END]</highlight-nsis>
| |
| This call returns "OK" string if successful, error description string if failed (see included InetLoad.cpp file for a full set of status strings). Usage and result processing samples are included to the package.
| |
| | |
| ; /PROXY
| |
| : Overwrites current proxy settings, not required in most cases. IE settings will be used by default.
| |
| | |
| ; /USERNAME
| |
| : Proxy username (http only).
| |
| | |
| ; /PASSWORD
| |
| : Proxy password (http only). For server (http/ftp) authentication it is possible to use URL encoded name and password, for example <nowiki>http://username:password@nsis.sourceforge.net</nowiki>.
| |
| | |
| ;/NOPROXY
| |
| : Disables proxy settings for this connection (if any)
| |
| | |
| ;/NOCANCEL
| |
| : Prevents download from being interrupted by user (locks Esc, Alt-F4, Cancel handling)
| |
| | |
| ;/CONNECTTIMEOUT -
| |
| :Sets INTERNET_OPTION_CONNECT_TIMEOUT, seconds, default - IE current parameter value.
| |
| | |
| ;/RECEIVETIMEOUT -
| |
| :Sets INTERNET_OPTION_RECEIVE_TIMEOUT, seconds, default - IE current parameter value.
| |
| | |
| ; /SILENT
| |
| : Key hides plug-in' output (both popup dialog and embedded progress bar). Not required if 'SilentInstall silent' mode was defined in script (NSIS 2.03 or later).
| |
| | |
| ; /RESUME
| |
| : On the permanent connection/transfer error instead of exit first displays message box with "resume download" question. Useful for dial-up connections and big files - allows user to restore connection and resume download. Default is "Your internet connection seems to have dropped out!\nPlease reconnect and click Retry to resume downloading...".
| |
| | |
| ; /CAPTION
| |
| : Defines caption text for /BANNER mode, caption prefix (left of '-') for /POPUP mode and caption for RESUME MessageBox. Default is "InetLoad plug-in" if not set or "".
| |
| | |
| ; /POPUP
| |
| : This mode displays detailed download dialog instead of embedded progress bar. Also useful in .onInit function (i.e. not in Section). If HOST_ALIAS is not "", text will replace URL in the dialog - this allows to hide real URL (including password).
| |
| | |
| ; /BANNER
| |
| : Displays simple popup dialog (MSI Banner mode) and sets dialog TEXT (up to 3 lines using $\n).
| |
| | |
| ; /CANCELTEXT
| |
| : Text for the Cancel button in the NSISdl mode. Default is NSIS dialog Cancel button text (current lang).
| |
| | |
| ; /QUESTION
| |
| : Text for the optional MessageBox if user tries to cancel download. If /QUESTION "" was used default "Are you sure that you want to stop download?" will be substituted.
| |
| | |
| ; /USERAGENT
| |
| : UserAgent http request header value. Default is "NSIS_Inetc (Mozilla)".
| |
| | |
| ; /HEADER
| |
| : Adds or replaces http request header. Common HEADER_TEXT format is "header: value".
| |
| | |
| ; /NOCOOKIES
| |
| : Removes cookies from http request
| |
| | |
| ; /END
| |
| : Allows to limit plug-in stack reading (optional, required if you stores other vars in the stack).
| |
| | |
| ; /TRANSLATE
| |
| : Allows translating plug-in text in the POPUP or "old style" (NSISdl) modes (see Readme for parameters). In the BANNER mode text is also customizable.
| |
| | |
| === post DLL Function ===
| |
| | |
| <highlight-nsis>inetc::post TEXT2POST [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD]
| |
| [/NOPROXY] [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT]
| |
| [/FILE] [/CAPTION TEXT] [/NOCOOKIES] [/POPUP HOST_ALIAS | /BANNER TEXT]
| |
| [/CANCELTEXT CANCEL_TEXT] [/USER_AGENT USER_AGENT_TEXT] [/TRANSLATE LANG_PARAMS]
| |
| URL1 local_file1 [URL2 local_file2 [...]] [/END]</highlight-nsis>
| |
| Sets POST http mode and defines text string or file name to be used in the POST (http only). Disables auto re-get. No char replaces used (%20 and others). /FILE option allows to send TEXT2POST file content to server, additional 'Filename:' header added to request this case.
| |
| | |
| For example
| |
| <highlight-nsis>inetc::post "$1" /file "<url to some webserver>/catch.pl" "$2"</highlight-nsis>
| |
| will post the contents of file $1 to the catch.pl script on the webserver and it will store the output of that script in the local file $2
| |
| The perl script catch.pl has the following lines to get the POSTed file:
| |
| if ($ENV{'REQUEST_METHOD'} eq "POST")
| |
| {
| |
| read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
| |
| }
| |
| | |
| In the cgi script, the HTTP environment variable HTTP_FILENAME will contain the filename as supplied in $1
| |
| | |
| === head DLL Function ===
| |
| | |
| The same as get, but requests http headers only. Writes raw headers to file.
| |
| | |
| === put DLL Function ===
| |
| | |
| <highlight-nsis>inetc::put [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] [/NOPROXY]
| |
| [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT] [/CAPTION TEXT]
| |
| [/POPUP HOST_ALIAS | /BANNER TEXT] [/CANCELTEXT CANCEL_TEXT] [/USER_AGENT USER_AGENT_TEXT]
| |
| [/TRANSLATE LANG_PARAMS] [/NOCOOKIES]
| |
| URL1 local_file1 [URL2 local_file2 [...]] [/END]</highlight-nsis>
| |
| Return value and parameters (if applicable) are the same as for previous entry point.
| |
| | |
| == Examples ==
| |
| | |
| <highlight-nsis>
| |
| inetc::get "http://dl.zvuki.ru/6306/mp3/12.mp3" "$EXEDIR\12.mp3" \
| |
| "ftp://dl.zvuki.ru/6306/mp3/11.mp3" "$EXEDIR\11.mp3"
| |
| Pop $0
| |
| </highlight-nsis>
| |
| | |
| <highlight-nsis>
| |
| inetc::put /BANNER "Cameron Diaz upload in progress..." \
| |
| "http://www.dreamgirlswallpaper.co.uk/fiveyearsonline/wallpaper/Cameron_Diaz/camerond09big.JPG" \
| |
| "$EXEDIR\cd.jpg"
| |
| Pop $0
| |
| StrCmp $0 "OK" dlok
| |
| MessageBox MB_OK|MB_ICONEXCLAMATION "http upload Error, click OK to abort installation" /SD IDOK
| |
| Abort
| |
| dlok:
| |
| ...
| |
| </highlight-nsis>
| |
| | |
| <highlight-nsis>
| |
| ;installer window restoring after silent calls from .onGUIInit
| |
| ;by Edward Marshall & Jonathan Beddoes
| |
| ;temporarily makes the installer window topmost so that inetc doesn't drop our focus
| |
| | |
| Function .onGUIInit
| |
| | |
| ; Get window handle of installer into register 0.
| |
| ; This only works in onGUIInit! (so you still can't silently call inetc from onInit)
| |
| StrCpy $0 $HWNDPARENT
| |
| | |
| ; Make window always-on-top. Yes, this is bad but we are only doing it temporarily!
| |
| ; This prevents inetc's hidden dialog from getting foreground precedence over the installer.
| |
| ; This must be done before any inetc calls.
| |
| ; -1 = HWND_TOPMOST, 3 = SWP_NOSIZE|SWP_NOMOVE
| |
| System::Call "user32::SetWindowPos(i r0, i -1, i 0, i 0, i 0, i 0, i 3)"
| |
| | |
| ; Now do whatever you want with inetc.
| |
| inetc::head /silent "http://ineum.narod.ru/spr_2006.htm" "$EXEDIR\head.txt"
| |
| | |
| ; Now set the installer window back to normal (not always-on-top).
| |
| ; -2 = HWND_NOTOPMOST, 3 = SWP_NOSIZE|SWP_NOMOVE
| |
| System::Call "user32::SetWindowPos(i r0, i -2, i 0, i 0, i 0, i 0, i 3)"
| |
| | |
| FunctionEnd
| |
| </highlight-nsis>
| |
| <highlight-nsis>
| |
| ; Following attribute also can restore installer Window
| |
| ; BGGradient 000000 000080 FFFFFF
| |
| </highlight-nsis>
| |
| | |
| | |
| == Limitations and warnings ==
| |
| | |
| * Has a verified risk of causing a false positive for "generic downloader trojan" in Kasperky antivirus software.
| |
| | |
| == Credits ==
| |
| | |
| Many thanks to Backland who offered a simple way to fix NSISdl mode crashes, added 'center parent' function, offers few nice design ideas and spent a lot of time testing the plug-in.
| |
| | |
| [[Category:Plugins]]
| |