0

そこで、NSIS 用の Inetc プラグインを取得して、次のアドレスhttp://www.hjhappel.de/dlmonitor/download.php?t=d&i=2から zip ファイル mp3splitter20.zip をダウンロードしようとしましたが、運がない。以前に Nsisdl プラグインを試し、ファイルのダウンロードを開始しましたが、次のエラーが発生し続けました

ダウンロードに失敗しました: サーバーはコンテンツの長さを指定しませんでした

HTTP1.1 を使用できるため、Inetc を使用する方が良いと思います。NSIS inetc wiki ページ hereのドキュメントを理解するために最善を尽くしましたが、必要な PHP コマンドを HEADER を介して組み込んで zip ファイルをダウンロードする方法について途方に暮れています。ヘッダーを使用しようとすると、次のエラーが発生します。

ダウンロードに失敗しました: 接続エラー

これは、私が非常に単純なエラーを犯していると信じるように導きます。

いくつかの例または適切な NSIS PHP ドキュメントへのナッジは大歓迎です。前もって感謝し、乾杯

これが、私が機能させようとしているコードのセクションです。

!define file_name "mp3splitter20.zip"
!define file_size "294KB"

Section "F7immersion"
   SetOutPath $INSTDIR
   ;these files must be in the main folder
   inetc::get /HEADER 'Content-type: application/zip' 'Content-Disposition: attachment; filename="'${file_name}.'"' "Content-length: ${file_size}"  "http://www.hjhappel.de/dlmonitor/download.php?t=d&i=2" "$INSTDIR\mp3splitter20.zip" /END
   Pop $R0 ;Get the return value
   StrCmp $R0 "success" +3
   MessageBox MB_OK "Download failed: $R0"
   Quit
   nsisunz::Unzip "$INSTDIR\mp3splitter20.zip" "$INSTDIR"
   Pop $R0
   StrCmp $R0 "success" +2
   DetailPrint "$R0" ;print error message to log
   File /r *.ahk
   File /r *.txt
   File /r *.nsi
   File /r *.exe
   File /r *.ico
   File /r *.ini
SectionEnd
4

1 に答える 1

1

これらのヘッダーをリクエストで送信しないでください。サーバーはそれらを返信で送信します。( HTTPヘッダーフィールドのリストを参照)

「通常の」サーバーからファイルをダウンロードするには、inetc::get "http://example.com/somefile.xyz" "$instdir\thefile.xyz" /END

于 2012-09-10T11:14:18.913 に答える