質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

Q&A

解決済

1回答

2717閲覧

wgetの使い方 ~サーブレットへデータ渡し~

kondo-modoru

総合スコア18

GET

GETとはHTTPが対応するリクエストメソッドの一つです。クライアントからサーバーへ送られたURLパラメータのデータを取得する時必要がある時に使われます。

POST

POSTはHTTPプロトコルのリクエストメソッドです。ファイルをアップロードしたときや入力フォームが送信されたときなど、クライアントがデータをサーバに送る際に利用されます。

Struts

StrutsはJava向けのWebアプリケーションフレームです。MVCモデルに基づいており、JSPやJavaサーブレットを組み合わせ、アプリケーション構築時に使用する各機能を提供しています。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

0グッド

0クリップ

投稿2016/01/12 13:14

編集2016/01/13 12:16

wget についてです。

サイト内を取得したいと考えております

http://www.*****.com/test/A0001.do?AAA=001001001

というサイト内に、

http://www.****.com/test/B0001.do?AAA=001001001&clc=03&urt=0000&pan=1

というリンクがあります。

wgetで自動化し、②以下を取得したいと考えております。

②以下を -rで取得

wget --post-data "AAA=001001001&clc=03&urt=0000&pan=1" http://www.****.com/test/B0001.do? -r

にて取得も不可でした。

ただ、①以下

wget --post-data "AAA=001001001" http://www.*****.com/test/A0001.do? -r

にて取得すると

B0001.do以下を取得できますが、目的の階層までたどり着けません。
加えて、B0002~B0100.do の不要な部分を階層取得してしまします。

自身、サーブレット、Strutsの知識が乏しく、イメージとしては、wgetを利用して、①を踏んでから②をwgetし
postデータを渡さなければならないと考えておりますが、実施するとデータが表示できない旨のエラーと
名前を指定していない為、ファイル名称が、A0001.do@とpostを取得出来ていない状態でDLされてしまいます。

ご存じの方などいらっしゃいましたら、ご教授いただければ幸いです。

追加確認

大変申し訳ありません
そもそも

http://www.*****.com/test/A0001.do? →取得可能 ブラウザ閲覧も可能

http://www.****.com/test/B0001.do? →取得不可 エラーページへ ブラウザ閲覧不可 エラーページへ

http://www.*****.com/test/A0001.do?にあるリンク経由でhttp://www.****.com/test/B0001.do?は
ブラウザ閲覧可能

以上となります。

ある特定のページを経由してwgetなのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TaichiYanagiya

2016/01/13 06:40

②は POST ではなく GET でアクセスするのではないでしょうか。 「wget '②のURL'」のように、クエリストリングを含めたURL全体を「'」シングルクォートで囲ってもダメ?
kondo-modoru

2016/01/13 12:11

早速のご回答ありがとうございます。 実施してみたのですが、 .do?以下のデータは読み込んでるように見受けられます 作成されるファイルが ※AAA=001001001&clc=03&urt=0000&pan=1を含んだファイル名になった ですが、 サイトであらかじめ作成された、エラーページをDLされてしまいました。 やったこと wget " http://www.*.com/test/A0001.do?AAA=001001001"
eripong

2016/01/13 12:28

エラーページにエラーメッセージは出ていませんか?また、サーバ側も参照可能なら、エラーログは出力されていませんか?
kondo-modoru

2016/01/13 14:21

お付き合いいただきありがとうございます。 今更ながら、 Wgetで ERROR 509 の表記を発見致しました。
eripong

2016/01/13 14:43 編集

509がHTTPのステータスコードなら、帯域幅制限超過ですね。アクセスしすぎでしょうか。直接アクセスするかどうかは関係なさそうです。
TaichiYanagiya

2016/01/14 09:10

推測ですが、①でアクセスしたときのセッションCookie を②に渡す必要があるのではないでしょうか。
guest

回答1

0

ベストアンサー

Servletの処理内容がわからないのでなんともいえませんが、まず、postの内容はあっていますか?

Chromeのpostmanというプラグインを利用して試してみてもらえますか?

https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop

投稿2016/01/13 16:02

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問