0 0

如何将HTML的FORM写成HTTP包的POST10

<a href="/people/new">New person</a>

<form action="/people/upload" enctype="multipart/form-data" method="post"><div style="margin:0;padding:0"><input name="authenticity_token" type="hidden" value="bd3f8cc557d33598458a35fc04cf44d81c4b086d" /></div><p>

<label for="file">File:</label><input id="xml_file" name="xml_file" type="file" /><br/>

<input name="commit" type="submit" value="Parse" />

</p>

</form>

 

给个普通的例子就可以,怎么将参数和值写进http请求包的正文?

 

Rails要怎么接受一个HTTP包,Controller的名字,参数,xml应该写在哪里?怎么写?

2011年8月03日 01:05

4个答案 按时间排序 按投票排序

0 0

public void post() throws JSONException {
		HttpPost post = new HttpPost(URL);
		HttpClient httpClient = new DefaultHttpClient();
		try {
			JSONObject jsonObject = new JSONObject();

			jsonObject.accumulate("interestName", "test").accumulate(
					"interestDesc", "desc");

			System.out.println(jsonObject.toString());
			StringEntity entitys = new StringEntity(jsonObject.toString());
			entitys.setContentType("application/json");
			entitys.setChunked(true);
			post.setHeader("Cookie", COOKIE);

			post.setEntity(entitys);

			HttpResponse response = httpClient.execute(post);
			HttpEntity entity = response.getEntity();
			System.out.println(entity.getContentType() + "---"
					+ entity.getContentEncoding() + "---"
					+ entity.getContentLength());
			InputStream inputStream = entity.getContent();
			byte[] b = new byte[1024];
			StringBuilder builder = new StringBuilder();
			while (inputStream.read(b) != -1) {
				builder.append(new String(b, "utf-8"));
			}
			System.out.println(builder.toString().trim());
		} catch (ClientProtocolException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

2011年8月03日 10:40
0 0

public void post() throws JSONException {
HttpPost post = new HttpPost(URL);
HttpClient httpClient = new DefaultHttpClient();
try {
JSONObject jsonObject = new JSONObject();

jsonObject.accumulate("interestName", "test").accumulate(
"interestDesc", "desc");

System.out.println(jsonObject.toString());
StringEntity entitys = new StringEntity(jsonObject.toString());
entitys.setContentType("application/json");
entitys.setChunked(true);
post.setHeader("Cookie", COOKIE);

post.setEntity(entitys);

HttpResponse response = httpClient.execute(post);
HttpEntity entity = response.getEntity();
System.out.println(entity.getContentType() + "---"
+ entity.getContentEncoding() + "---"
+ entity.getContentLength());
InputStream inputStream = entity.getContent();
byte[] b = new byte[1024];
StringBuilder builder = new StringBuilder();
while (inputStream.read(b) != -1) {
builder.append(new String(b, "utf-8"));
}
System.out.println(builder.toString().trim());
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

2011年8月03日 10:40
0 0

上边的代码是随手写的,con要 con.connect()一下,你要调试一下。

2011年8月03日 09:14
0 0

你是想手写http请求吗?如果是这样的话,以java为例:

URLConnection con=new URLConnection(url)
OutputStream ops = con.getOutputStream();
ops.write("something".getBytes());
ops.write....
ops.close();

具体的写的格式请参照http协议的rfc文档,里边对格式有严格的要求和说明。
当然,还有更简单的办法。使用apache的httpClinet 包来处理会更简单,看文档吧。

希望对你有所帮助。

2011年8月03日 09:11

相关推荐

    post方式提交数据

    本文将详细解析"POST方式提交数据"这一主题,特别针对Android平台进行探讨。 首先,理解POST方法的基本概念。POST是HTTP协议中的一个请求方法,用于向指定资源提交数据,以创建或更新资源。它将数据封装在请求正文...

    上传文件fileupload+解决enctype= multipart/form-data无法传递其他参数

    2. **multipart/form-data**:这种编码方式将表单数据分割成多个部分,每部分都有一个边界标识,这样服务器就能区分不同部分的数据。文件数据被封装在一个部分,其他文本参数也在各自的独立部分。 3. **Apache ...

    Ajax中get与post请求详解

    1. 参数传递方式:get 请求将参数数据队列加到提交表单的 ACTION 属性所指的 URL 中,而 post 请求通过 HTTP post 机制,将表单内各个字段与其内容放置在 HTML HEADER 内一起传送到 ACTION 属性所指的 URL 地址。...

    python爬虫使用requests发送post请求示例详解

    本文将详细讲解如何使用requests库在Python中实现POST请求,并介绍三种常见的数据编码方式:application/x-www-form-urlencoded、application/json以及multipart/form-data。 1. **以form表单形式发送POST请求** ...

    提交表单生成html文件

    - **`&lt;% ... %&gt;`**标签用于嵌入Java代码,这部分代码将被编译成Java代码并在服务器端执行。 #### Java后台处理流程 接下来,我们来看一下具体的处理流程: 1. **获取表单数据**:使用`request.getParameter("t1")...

    HTML-JS-CSS 总结.pdf

    单标记(空标记)如` `,在HTML5中可以写成` `。注释使用`&lt;!—注释内容--&gt;`形式,CSS注释则使用`/*注释内容*/`。 【HTML文档标准结构】 HTML文档通常包含`&lt;html&gt;`、`&lt;head&gt;`和`&lt;body&gt;`三个主要部分。`&lt;html...

    易语言写世纪天成论坛注册登录(网页填表)

    4. **发送POST请求**:调用`发送HTTP请求`函数,将构造好的POST数据发送到服务器。同时,设置请求头信息,模拟浏览器的行为,例如设置“Content-Type”为“application/x-www-form-urlencoded”。 5. **解析响应**...

    HTML 教程 主要是基础

    例如,要设置文本为红色,字体大小为14像素,可以写成: ```html 这是红色、14像素大小的文本 ``` 然而,CSS提供了更灵活的控制,如: ```html ; font-size: 14px;"&gt;这是使用CSS设置的红色、14像素大小的文本 ``` ...

    .net mvc3.0分页(包含AJAX分页)

    版本更新。新版本在 http://download.csdn.net/source/3547016 自己写的MVC3.0分页...使用的时候可以删除PageIndex.cshtml 中的 @using (Html.BeginForm("PageIndex", "MvcPage", FormMethod.Post)) 这个是多余的。

    html入门到放弃笔记

    也称为 "双标记" , 必须成对出现 语法:&lt;标记&gt;内容标记&gt; Demo : 1、创建 p 标记 --&lt;p&gt;...&lt;/p&gt; 2、创建 div 标记 -- &lt;div&gt;&lt;/div&gt; 3、创建 header 标记 -- &lt;header&gt;&lt;/header&gt; 2、非封闭类型的标记 ...

    HTML前端测试之填空题(附答案).pdf

    5. 网页标题会显示在浏览器的标题栏中,则网页标题应写在 `&lt;title&gt;` 和 `&lt;/title&gt;` 之间。 二、 HTML 表格 6. 表格的标签是 `&lt;table&gt;`, 单元格的标签是 `&lt;td&gt;`。 7. 表格有 3 个基本组成部分:行、列和单元格。 ...

    自动填写并提交源代码

    例如,如果有两个字段username和password,可以写成`"username=yourname&password=yourpassword"`。 2. **设置请求头**:为了正确地提交表单,需要设置Content-Type为`application/x-www-form-urlencoded`,这是...

    java上传jar包

    Java上传jar包是一个常见的开发任务,特别是在分布式系统或者云服务中,我们需要将应用程序打包成jar文件,然后通过网络上传到服务器。在这个过程中,`commons-fileupload-1.2.1.jar`和`commons-io-1.4.jar`是两个...

    javascript-form-source-code-Form source code

    例如,要获取ID为`myInput`的输入元素,可以写成`var input = document.getElementById('myInput')`。 2. **事件监听** JavaScript允许我们添加事件监听器来响应用户的操作,如点击按钮、填写表单等。常用的方法有...

    PHP实例开发源码—php简单计算器.zip

    例如,要进行两个数的加法运算,可以写成: ```php $a = 5; $b = 3; $result = $a + $b; echo "结果是:$result"; ``` 在这个例子中,`$result`将被赋值为8,然后通过`echo`语句将其输出到屏幕。 在实际的简单...

    用 c 写 CGI 程序简要指南

    Web 服务器在调用使用 POST 方法的 CGI 程序时设置此环境变量,它的文本值表示 Web 服务器传送给 CGI 程序的输入中的字符数目,因此我们使用函数 atoi() 将此环境变量的值转换成整数,并赋给变量n。请注意 Web ...

    php中$_POST与php://input的区别实例分析

    在PHP中,`$_POST`和`php://input`是两种不同的方式来获取HTTP POST请求中的数据,它们各自有其特点和适用场景。下面将详细分析这两种方法的区别、功能以及使用技巧。 首先,`$_POST`是PHP预定义的超全局数组,用于...

Global site tag (gtag.js) - Google Analytics