【问题标题】:How to Build an HTML POST?如何构建 HTML POST?
【发布时间】:2011-08-26 21:45:33
【问题描述】:

GET 不同,在其中构建查询很简单(将字段连接成一个长 URL),我似乎错过了生成 POST 的“秘密”。

我知道<FORM ACTION="https://host.domain.com/etc"> 中提供的 URL 应该以某种方式使用,但是如何使用呢?

我在这个主题上找到的tutorials 出于某种原因对此仍然很神秘。

如何构建 HTML POST?

这是一个直接加载到浏览器中的 URL 字符串吗?还是有更多内容?

答案是否取决于浏览器/平台,我在 Android 上使用 WebView。

【问题讨论】:

  • 表单中的数据作为 HTTP POST 请求的实体主体发送,内容类型为application/x-www-form-urlencoded。如果这对您来说是希腊语(我怀疑它会是),请阅读一些关于 HTTP 的介绍性文档,然后再次询问您是否仍然不确定。
  • @Henning Makholm 谢谢。关于 HTTP 的材料太多了……如果您可以为此类 HTTP 介绍性文档推荐一个特定的来源,那就太好了。我不打算获得 HTTP 博士学位,只实现一个发布 2 个字段的小型 Java 方法。我现在怀疑HttpPost 会发挥作用,但是您对此进行介绍的想法很棒。有什么建议吗?
  • 好吧,在这种情况下,我自己的首选策略是直接转到the spec itself 并从头到尾通读几遍,希望第二次或第三次都能理解.但这对大多数其他人来说似乎效果不佳......
  • 谢谢。这里是application/x-www-form-urlencoded的定义@

标签: android html webview forms http-post


【解决方案1】:

好吧,如果您使用的是 HTML,那么它应该与您在浏览器上使用的方式相同。

也就是说,在表单标签中添加一个方法属性,如果您正在处理文件,则添加一个 enctype 属性。

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

我建议您阅读 POST 上的维基百科页面:http://en.wikipedia.org/wiki/POST_(HTTP) 基本上,它不是在 url 中编码数据,而是在消息正文中发送数据。 另见:http://www.cs.tut.fi/~jkorpela/forms/methods.html

除了向用户“隐藏”查询数据外,它还用于上传文件,因为您可以包含二进制数据而不仅仅是文本。

如果您想在处理表单时保持 url 干净,这很有用。 (例如,您在表单数据中包含一个长字符串,那么 url 会变得很长。)

此外,当用户刷新表单页面时,浏览器通常会提示用户。 浏览器不会为 GET 执行此操作,这通常用于导航或将参数传递给服务器,用户可能会发现这些参数对直接更改自己很有用。 (即 page_id=1,用户可以通过更改单个数字直接转到下一页或特定页面。)

【讨论】:

  • This 正是我所需要的。谢谢!
  • this 代码示例似乎是锦上添花。
  • 另一个relevant one
猜你喜欢
  • 1970-01-01
  • 2015-05-16
  • 1970-01-01
  • 1970-01-01
  • 2021-09-24
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
  • 2014-03-18
相关资源
最近更新 更多