【问题标题】:what is the correct syntax of a post form in an http requesthttp请求中post表单的正确语法是什么
【发布时间】:2011-06-27 20:36:20
【问题描述】:

http post 请求中发送的表单格式是什么? 我正在尝试一个 http 客户端程序,并希望在 http post 请求中发送一个表单。 我试过了:

< FORM METHOD=POST >
< INPUT name="name" value="chriss">
< /FORM >

这是正确的吗? 在服务器端,当我尝试获取名称的值(我使用:form.getFirstValue("name"))时,我得到空值。 (我使用 restlet 作为我的 API。) 谁能帮帮我

【问题讨论】:

  • 你在制作一个html页面吗?还是通过 HTTP POST 发送表单数据的程序?
  • 是生成http请求的java程序,不是html页面,有区别吗?
  • 您在使用“直接”TCP 套接字吗?还是某种 HTTP 库?
  • 我正在使用这个:code.google.com/p/rest-client

标签: http forms post restlet


【解决方案1】:

HTML 表单发送的POST 请求的正文通常使用“application/x-www-form-urlencoded”媒体类型。

如果您的客户端也是 Restlet 客户端,您应该能够使用 Form 类,为每个名称/值对设置所需的值,并使用 getWebRepresentation() 获取要发送的表示。

基本上,身体看起来像这样:

name=chriss

如果您有更多参数,它们将由&amp; 分隔。

(如果您要发送文件,请改用multipart/form-data 编码。)

【讨论】:

    【解决方案2】:

    HTML 参考资料会很有帮助。有很多优秀的 HTML 书籍和在线参考资料。

    <form method="post" action="/url/to/submit/to">
        <input type="text" name="name" value="chriss">
    </form>
    

    【讨论】:

    • 我使用了这个,但仍然在服务器端,当我尝试获取 name 的值时,我得到 null 而不是 chriss。如果我是从 html 页面或 java 程序发送 http post 表单,会有什么不同吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 2017-05-01
    • 2016-07-03
    • 1970-01-01
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    相关资源
    最近更新 更多