• ベストアンサー

http通信について

環境はASP.NETです。 aspxファイルですが、 現在、同じURLを直接ブラウザに打ち込むと正常に動くのですが <form>のactionに同じURLを埋め込んでsubmit()すると、 情報が足りないのか、何かがおかしくなるのか、 システムが正常に動きません。 <form>のactionでURL(GETデータ付)を指定してsubmit()した場合と ブラウザに直接、URLを打ち込んだ場合とでは どこが違ってくるのでしょうか? どなたかアドバイスお願いいたします!

質問者が選んだベストアンサー

  • ベストアンサー
  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.1

何が違うのかを確認する方法を覚えましょう。 Chromeを例にとりますが、F12を押して開発者ツールを起動し、Networkを選択。で、リクエストを送信。すると発生したリクエストの一覧が表示されます。 JavaScriptやCSSの外部ファイルや画像などの読み込みも表示されますが、明示的に送信したリクエストがリストの最上位に表示されているはずです。そこをクリックすれば、リクエストヘッダの内容を見ることができます。リクエストヘッダの内容を比較すれば何が違うのかすぐに明らかになるでしょう。 ChromeでなくともFireFoxやIEでもほぼ同じです。

jg1wjz
質問者

お礼

pringlez さん、ありがとうございます。 昨日の夕方、ASP.NETのわかる人がいらしたとき、合間にお聞きしたら 同じことをいわれまして ブラウザとサーバのやり取りをキャプチャするツールをインストールし 月曜日に細かく解析することになりました。 インストール後、試しに動かしてみてみたら、明らかに違いました。 解析して違いがわかっても果たして、修正方法がわかるのか・自分に出来るのか 気が重い週末を過ごしています。 でも、ひとつ進みました。ありがとうございました。

その他の回答 (1)

  • pringlez
  • ベストアンサー率36% (598/1630)
回答No.2

>昨日の夕方、ASP.NETのわかる人がいらしたとき、 言語は関係ありませんよ。ただのhttp通信の話です。PHPやJavaでも同じですし、ただのHTMLでも同じことが起こるはずです。 >ブラウザとサーバのやり取りをキャプチャするツールをインストールし 特に何かをインストールする必要はないんですけどね。IEやChromeがあればそれだけでいいんですけど。 ちなみに何をインストールしたんですか?WireSharkとかParosあたりがメジャーですが、どちらかでしょうか?もしWireSharkだったらそんな専門的なツールは必要ありませんしむしろ難しすぎると思います。 >解析して違いがわかっても果たして、修正方法がわかるのか・ >自分に出来るのか気が重い週末を過ごしています。 えぇー。まじですか…。4月だから入社したばかりの方なんですかね。 リクエストヘッダの内容とできれば、HTMLのformの部分のコードを提示してくれたら、すぐにでも分かりそうなことですけど。 でも「月曜日に」と決まっているということは「ASP.NETのわかる人」がまた来てくれると言うことですよね。たぶん。大したことではないはずなのですぐに解決しますよ。頑張ってください。

jg1wjz
質問者

お礼

pringlez さん、ありがとうございます。 ですよね。ASP.NETがわからないので、何か影響しているのかと思いまして。 ツールはワイヤーシャークは難しかったので「fiddler」というツールです。(これも教えてもらいました) 恥ずかしながら、新入社員ではないんです。 やりたいことは二つのシステム間のGET通信をPOSTにするってことで 4,5日で出来るから、、、って言われました。 前任(外注したみたいです)の方が5日間くらいで出来たとか。(^^; で、今回、受取るほうがversion upされて、がちがちになっていて そのシステムのサイト(ホームディレクトリ)に、追加で入れたい(aspx)ファイルを一切受け付けてくれなくなっていました。(認識してくれないのです) web.configでセキュア何とか??? 、、、、ASP.NET初心者には難しい話です。 で、もうひとつIISサイトを立て、そこでPOSTで受けてもうひとつのシステムに渡して、、、をやろうとしています。 締め切りは昨日でした。^^; 無理!!! (三日間しかなかった) で、ふと気づいたんです。 前versionが GETで受けて、もうひとつのほうに location.hrefで投げていたと。 つまり、受け側はGETですよね? ここも今回POSTにしてました。 もしかして、受け側はGETでしか受取らないのかも!と。 サーバー間はPOSTにするけど、受け側でのやり取りはGETじゃないとダメなのかもです。 、、、先が長そうで自信ないですが頑張って見ます。 出来そうになかったら、リクエストヘッダの内容とHTMLのformの部分のコードを提示して、またhelpお願いしたいです。

jg1wjz
質問者

補足

pringlez さん こんなところに失礼します。 結局解析してもわかりませんでした。 最初のrequestがたくさんありまして、htmlから一度に投げてます。 html→aspx→某システムに自動LOGIN。。。 200ok 200ok が続いたあと 500 のエラーになっているのだけわかりました。 何が悪いのか、どこを直せばいいのか皆目見当が付きません。(^^; 二つのシステムの間をSSOするだけ(!)なのですが。 もう少し試験をし、結果をまとめて「できませんでした!」です。 ちょっと悔しいですが。 いろいろとありがとうございました。

関連するQ&A