のファイルをダウンロードする必要があります(saveURI
)。しかし、ファイルはPOSTとして要求される必要があります。どうやってするの?nsIWebBrowserPersistでデータをPOSTする方法は?
1
A
答えて
0
ここでは、作業コード(IRCの#extdevからBENBのおかげで)です:
var dataString = "name1=data1&name2=data2";
var stringStream = Components.classes["@mozilla.org/io/string-input-stream;1"].
createInstance(Components.interfaces.nsIStringInputStream);
if ("data" in stringStream) // Gecko 1.9 or newer
stringStream.data = dataString;
else // 1.8 or older
stringStream.setData(dataString, dataString.length);
var postData = Components.classes["@mozilla.org/network/mime-input-stream;1"].
createInstance(Components.interfaces.nsIMIMEInputStream);
postData.addHeader("Content-Type", "application/x-www-form-urlencoded");
postData.addContentLength = true;
postData.setData(stringStream);
persist.saveURI(fURI, null, aReferrer, postData, "", file);
https://developer.mozilla.org/en/Code_snippets/Post_data_to_window#Preprocessing_POST_data
3
nsIWebBrowserPersist.saveURI()
は、aPostData
パラメータをとります。入力ストリームを渡すと、POST要求が行われます。あなたが最も簡単であるべきnsIStringInputStreamを使用して、いくつかの簡単なデータを送信する場合、このような何か:
var data = "a=1&b=2";
var stream = Components.classes["@mozilla.org/io/string-input-stream;1"]
.createInstance(Components.interfaces.nsIStringInputStream);
stream.setData(data, data.length);
webBrowserPersist.saveURI(uri, null, null, stream, null, file);
関連する問題
- 1. QNetworkAcccessManagerでUnicodeデータをPOSTする方法
- 2. Rack :: TestでデータをPOSTする方法
- 3. GETではなくAsanaにデータをPOSTする方法は?
- 4. Javaでhttp POSTデータをデコードする方法は?
- 5. FirebugでフォームPOSTデータを取得する方法は?
- 6. テキストエリアから大量のPOSTデータを処理する方法は?
- 7. ASP.NET HttpHandlerにデータをPOSTする方法は?
- 8. アンドロイドウェブビューでコード付きのPOSTデータを送信する方法
- 9. POSTフォームのデータが空であるかどうかをチェックする方法は?
- 10. PHP:Windowsタスクスケジューラを使用してPOSTデータを送信する方法
- 11. データをリモートサーバにPOSTして結果を表示する方法
- 12. asp.netでpostメソッドで送信するデータの値を取得する方法
- 13. HTTP POST、メッセージ本体(データ)を取得する方法
- 14. ASP.NET内のファイルに全体のPOSTデータをダンプする方法
- 15. POST POSTデータを転送する
- 16. $ .postコールバックをループする方法は?
- 17. LWUIT:HTMLComponentでフォームをPOSTする方法
- 18. ローカルでWinHTTP POSTをテストする方法
- 19. 新しいページを開き、POSTデータを送信する方法は?
- 20. Spring MVCのPost/Redirect/Getパターンのリクエスト間でデータを渡す方法は?
- 21. ビューからコントローラへデータを渡す方法(jquery postを使用)?
- 22. Form Actionを介してデータを渡す方法 - WebService(WCF)の "POST"?
- 23. POSTメソッドを使用してXDRでJSONデータを送信する方法
- 24. POSTデータを送信する
- 25. HTTPsにPOSTする方法は?
- 26. RailsでXML POSTデータを解析する
- 27. JavaでPOSTデータを送信する
- 28. PHPでcXML POSTデータを処理する
- 29. codeigniterコントローラーでPOSTデータを取得する
- 30. Spring MVCでPOSTにリダイレクトする方法
ありがとう、ウラジミール。実際には、POSTリクエストでファイルをダウンロードする必要があります。追加データは送信しないでください。しかし、私があなたのアプローチを使用しようとすると、0バイトのファイルがダウンロードされ、WiresharkでHTTPリクエストが表示されないことがわかります... –