2011-08-26 10 views
2

GETとは異なり、クエリを構築するのは簡単です(複数のフィールドを1つの長いURLに連結する)、私はPOSTを生成する "秘密"を見逃しているようです。HTML POSTを構築するには?

私は<FORM ACTION="https://host.domain.com/etc">で提供されているURLは何らかの方法で使用する必要があることを知っていますが、どうすればよいですか?

tutorialsこの件で見つかったのは何らかの理由でこれについて不思議なことが続きました。

HTML POSTを作成するにはどうすればよいですか?

これはブラウザにロードされる簡単なURL文字列ですか?それともそれ以上にあるのでしょうか?

答えはブラウザ/プラットフォームに依存していますか、私はAndroidでWebViewを使用しています。

+0

コンテンツタイプのHTTP POST要求のエンティティ本体として、 'application/x-www-form-urlencoded'となります。それがあなたにギリシャ語であれば(私はそうなると思う)、HTTPの入門書を読んで、あなたがまだ分かっていないかどうか再度尋ねてください。 –

+0

@Henning Makholmありがとうございました。 HTTP上には非常に多くの資料があります... HTTP上でそのような入門書の特定のソースを推薦することができれば、それは優れています。私はHTTPでPhDを取得するつもりはないが、2つのフィールドを投稿する小さなJavaメソッドしか実装していない。私は今、[HttpPost](http://developer.android.com/reference/org/apache/http/client/methods/HttpPost.html)がこの魔法を実行すると思うが、これについてのイントロを得るあなたの考えは素晴らしい。どんな勧告? – ateiob

+0

このような場合の私の好みの戦略は、[仕様自体](http://www.w3.org/Protocols/rfc2616/rfc2616.html)に直接アクセスし、最初から最後まで数回読むことですそれはすべての2番目または3回目の周りの意味があることを期待しています。しかし、それはほとんどの他の人々のためにうまくいくようには思われません... –

答えて

4

HTMLで作業している場合は、ブラウザで行うのと同じ方法で行う必要があります。

つまり、フォームタグにメソッド属性を追加し、ファイルでenctype属性を使用している場合は、基本的にはhttp://en.wikipedia.org/wiki/POST_(HTTP) を、代わりにそれがメッセージ本文にそれを送信したURLのデータを符号化する:

<form method="post" enctype="multipart/form-data"><!--values here--></form> 

は、私はあなたがPOSTにWikipediaのページを読むことをお勧め。 参照:http://www.cs.tut.fi/~jkorpela/forms/methods.html

クエリデータはユーザーの横に表示されますが、テキストだけでなくバイナリデータも含めることができるため、ファイルのアップロードに使用されます。

これは、フォームの操作時にURLをきれいに保つ場合に便利です。 (たとえば、フォームデータに長い文字列を含めると、URLは実際に長くなります)。

また、ブラウザは通常、フォームページを更新するときにユーザーに確認を求めます。 ブラウザはGETのためにこれをしません。これは、通常、ナビゲーションやユーザーが直接変更するのに役立つ可能性のあるパラメータをサーバに渡すために使用されます。 (つまり、page_id = 1で、ユーザーは単一の番号を変更して次のページまたは特定のページに移動することができます)

+0

[こちら](http: //www.cs.tut.fi/~jkorpela/forms/methods.html#tech)は私が必要としていたものです。ありがとうございました! – ateiob

+1

そして[this](http:// stackoverflow。com/questions/3711126/open-webview-with-http-post/3711251#3711251)のコードサンプルがケーキのアイシングのようです。 – ateiob

+1

別の[関連するもの](http://stackoverflow.com/questions/3471581/android-webview-post/3472052#3472052)。 – ateiob

関連する問題