![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
こんにちは。今回は、post形式のhttpヘッダを教えて頂きたいと思います。
ある画像共有サイト(BL関係ですので、actionのURLを参照する時は気を付けてください)で、ZIPファイルダウンロードボタンが存在しています。
ボタンを押すと、zipファイルがダウンロードされます。これをhttpヘッダを通して、ダウンロード出来ないかを考えています。
get方式ですと、当然urlが表示されますが、post形式ではその確認が出来ません。
そこで、実際にhtml構造を調べて自分で、命令文を作ってみようと考えたのですが、どうもうまくいきません。
zipファイルダウンロードボタンは、以下のsubmitで送信されています。
自分としては、
http://b-share.net/download/?post_id=7201&downlo …ダウンロード
と考えたのですが、データが見つかりませんと返答されてしまいます。
何か基本的な勘違いをしているのかも知れませんが、どうかご教授頂ければと思います。
<form action="http://b-share.net/download/" method="POST" class="__web-inspector-hide-shortcut__">
<input type="hidden" name="post_id" value="7201">
<ul class="dl">
<li class="zip"><input type="submit" name="download_type" value="ZIPダウンロード" onclick="ga('send', 'event', 'single_pc', 'download', 'zip');"></li>
<li class="pdf"><input type="submit" name="download_type" value="PDFダウンロード" onclick="ga('send', 'event', 'single_pc', 'download', 'pdf');"></li>
</ul>
</form>
No.2ベストアンサー
- 回答日時:
No.1です。
> つまり、post形式の命令を送る必要があるということですね。
POSTで送っている変数と変数値をGET型式で送って「データが無い」となったのでしたらそういうことでしょう。
> この場合、サーバーに対してどのような命令を送ればよろしいのでしょうか?
命令ではなくPOST型式で送るという事です。
つまりURLの後ろに付加するのではなくHTTPの通信文の本体にPOST型式で入れるということです。
それをWebブラウザから送るには、結局のところ質問に書かれていたFORMを含むHTTPファイルを作成し、それをWebブラウザで表示してSubmitするしかないでしょう。
HTTPの通信規格を理解し、それを行うソフトを自作されるのでしたら別です。
> postはgetと異なるということは理解していますが、そうなると、url等で情報を引き出す方法は不可能ということになるのでしょうか?
> その場合、どのような引出し方法がありますか?
すみません。
これは何を言われているのか理解できません。(_ _;;
サーバ側の話をされていますか? それともWebブラウザ側の話をされていますか?
前者の場合、GETパラメータは環境変数QUERY_STRINGに入っており、POSTパラメータは標準入力で取り出せます。Javaなど一部の言語ではこの違いを吸収する機能が言語の実行環境として提供されているので、「変数取り出し」の命令を使うと受け取れる仕組みになっています。
サーバ側のプログラムがGETとPOSTの違いによってWebブラウザ側から送られて来るパラメータの取り出し方が異なる言語を使って実装されいたPOSTで受けるプログラムの場合または、POSTで送られて来たことをチェックしているプログラムの場合、GETで送ってもサーバ側のプログラムはパラメータを受け取れない(チェックしている場合は「受け取らない」と表現が正しい)です。
具体的にGETとPOSTで取り出し方がどう違いかは、例えばC言語を見ると一番わかりやすいでしょう。Perlもそうだと思います。(最新のPerlは意識せずに済むライブラリが有ったかな?)PHPも入る変数が違ったように記憶します。
「○○ GETパラメータ 取得」(○○はC言語やPerl等の言語名)といった適当なキーワードで検索すると解説サイトがいろいろ見つかると思います。
No.1
- 回答日時:
サーバ側でこの要求を受けるプログラムがJavaで実装されている場合はGETとPOSTの違いを意識しませんが、そうでない場合はパラメータの取り出し方法がGETとPOSTで異なります。
ですのでPOSTで送られて来ることを当てにして実装しているプログラムに対してGETで送っても認識されず「データが無い」となります。参考まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10にデュアルブートでXP...
-
onedrive にexcelファイルをア...
-
【VB.NET】App.configにファイ...
-
VB.NET Excelを読み込んでDataT...
-
Windowsで複数のファイルを同じ...
-
C#からvbsを実行したい
-
phpのファイルがブラウザで開か...
-
【VB.NET】Excelの最終行までの...
-
aspxをhtmlに変換する方法について
-
エクセルに張り付けた写真のフ...
-
Accessのトグルボタンでサブフ...
-
VB.NETでMSComm が追加できず?
-
研究する文献がたくさんありま...
-
Windows10エンタープライズ版をインス...
-
vba 空のデータをSplitする時の...
-
VBAでPDFを作成する際、同じ名...
-
グラフをC#のASP.net MVCで表示...
-
【VB.NET】for each文からのINS...
-
SPO2測定
-
高校1年生情報の問題について。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
API、OCX、DLLって何でしょう?
-
VBプログラムをEXCEL VBAに移植...
-
C言語のHP-UXからLinuxへのポ...
-
OSとCPUの関係について
-
コンソールアプリでファイル選...
-
SNMPトラップ情報をC#.netで作...
-
WEBページに読み書きするプログ...
-
変数の大きさを超える代入
-
Perl5とActivePerl
-
UNIX環境でのCプログラム上でC...
-
.Net とは何ですか?
-
3ウェイハンドシェイクの流れ...
-
i,j,k
-
DLLってなに?
-
VBS:コンピュータ名を取得し、...
-
Ryzen 3700(無印)はWin11に対応...
-
CGIとは?
-
プログラミング 素数か素数では...
-
プログラマやシステムエンジニ...
-
このプログラミング誰か教えて...
おすすめ情報
つまり、post形式の命令を送る必要があるということですね。この場合、サーバーに対してどのような命令を送ればよろしいのでしょうか?
postはgetと異なるということは理解していますが、そうなると、url等で情報を引き出す方法は不可能ということになるのでしょうか?
その場合、どのような引出し方法がありますか?
具体例を頂けると助かります。