電子書籍の厳選無料作品が豊富!

ECサイトの検索キーワードから商品URLを取得する時、Formの情報をまとめた「httpヘッダー」を送ることを知りました。そこで、自分でhttpヘッダーを作ってみようと思うのですが。なかなかうまくいきません。

該当サイトのForm情報はこちらになります。

<form id="search-input-form" class="search__form" name="search-input" action="/webapp/wcs/stores/servlet/Search" method="get" novalidate="">
<input type="hidden" id="storeId" name="storeId" value="10051">
<input type="hidden" id="catalogId" name="catalogId" value="10901">
<input type="hidden" id="langId" name="langId" value="-1">
<div class="search__form--actions">
<ul class="search__form-action">
<li data-property="GLB_SEARCH" class="search__form--submit"><a id="site-search-submit" class="action search__form--button submit" href="#"><span class="one"><span class="two"><span class="three"><span class="four"></span></span></span></span></a>
<label class="accessibility" for="site-search-submit">Search Submit Button</label>
<button type="submit" name="search-field-submit" class="search__form--button linkified"></button>
</li>
</ul>
</div>
<div class="data">
<label class="accessibility" for="site-search-field">Search Input Field</label>
<input type="text" maxlength="50" id="site-search-field" name="search-field" class="text" placeholder="Search" required="required" pattern="^\u0020*([^\u0020]\u0020*)+$" autocomplete="off">
<div id="autocomplete"><div class="autocomplete-suggestions" style="position: absolute; display: none; width: 143px; max-height: 800px; z-index: 9999;"></div></div>
</div>
</form>

actionが宛先URLで、methodがgetになっていますので、
該当サイト/webapp/wcs/stores/servlet/Search?storeId=10051?catalogId=1090?langId=-1
?site-search-field=検索キーワード
と考えたのですが、うまくいきません。
詳しい方がいらっしゃいましたらご教授して頂きたいと思います。

質問者からの補足コメント

  • うれしい

    回答して頂き、本当にありがとうございます。
    私も作成されたURLを確認しようと、httpヘッダー監視ツール等を利用しましたが、サイトの仕様か分かりませんが、商品情報のURLが瞬時に返答されて、formで構成された値を知ることが出来ず、この度専門家の方にご意見を賜った次第です。
    回答を見る限り、
    該当サイト/webapp/wcs/stores/servlet/Search?storeId=10051&catalogId=1090&langId=-1
    &site-search-field=検索キーワード
    ということでよろしいでしょうか?

    No.1の回答に寄せられた補足コメントです。 補足日時:2016/03/28 10:09
  • うれしい

    search(検索)に商品コードを入力すると、商品情報のURLが返ってきます。

    商品コード「112553」を入力すれば、httpヘッダーは、

    actionURL+?storeId=10051&catalogId=1090&langId=-1
    &site-search-field=112553

    だと考えました。
    しかし、商品情報のURLは、

    http://www.abercrombie.com/shop/us/p/a-and-f-act …

    と、キーワード検索⇒内部処理⇒商品情報のURLだと判断しました。

    そこでキーワード検索の部分で、どのようなhttpヘッダーが送っているのかをformから推測できないかと、今回質問させて頂きました。

    No.2の回答に寄せられた補足コメントです。 補足日時:2016/03/28 11:15

A 回答 (2件)

GETで送信になっているなら、結果が表示された時のURLを確認なさるのが確実だと思います。



とりあえず、
 ・ クエリ部の『?』は先頭に一つです。
 ・ 変数が複数ある場合は『&』で連結します。
この回答への補足あり
    • good
    • 0
この回答へのお礼

少し時間を頂き、問題解決の糸口が見えました。
至らない質問に対して、とても誠意に答えて頂きとても感謝しています。

お礼日時:2016/03/28 14:46

#1です



>httpヘッダー監視ツール等を利用しましたが
ん?
監視ツールなど使わなくても、結果が表示された時のアドレス バーにURLが表示されていませんか?
それとも、アドレス バーの内容が変わらないということでしょうか?

変わらない場合は、ページ全体は遷移していないものと思われます。
例えばフレームを使ったページで、フレーム内だけを遷移しているとか。
この場合は、結果表示時のフレームのアドレスを調べるとか、あるいは、対象フレーム内にフォームがあるなら、そのページだけを表示した状態でsubmitするとかで調べられると思います。

フレーム以外の方法としては、Ajax(javascriptを利用)で送受信しているのかも知れませんね。
その場合は、返されるデータがHTMLとは限りませんので、そのままの形でブラウザが表示できるようになってるとは限りません。
(テキスト表示はできると思いますが・・・)
この回答への補足あり
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!