package wzq.j2se;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class HttpURLConnectionPost {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
readContentFromPost();
}
public static void readContentFromPost() throws IOException {
// Post请求的url,与get不同的是不需要带参数
URL postUrl = new URL("http://www.wangzhiqiang87.cn");
// 打开连接
HttpURLConnection connection = (HttpURLConnection) postUrl.openConnection();
// 设置是否向connection输出,因为这个是post请求,参数要放在
// http正文内,因此需要设为true
connection.setDoOutput(true);
// Read from the connection. Default is true.
connection.setDoInput(true);
// 默认是 GET方式
connection.setRequestMethod("POST");
// Post 请求不能使用缓存
connection.setUseCaches(false);
connection.setInstanceFollowRedirects(true);
// 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
// 意思是正文是urlencoded编码过的form参数,下面我们可以看到我们对正文内容使用URLEncoder.encode
// 进行编码
connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
// 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
// 要注意的是connection.getOutputStream会隐含的进行connect。
connection.connect();
DataOutputStream out = new DataOutputStream(connection
.getOutputStream());
// The URL-encoded contend
// 正文,正文内容其实跟get的URL中 '? '后的参数字符串一致
String content = "account=" + URLEncoder.encode("一个大肥人", "UTF-8");
content +="&pswd="+URLEncoder.encode("两个个大肥人", "UTF-8");;
// DataOutputStream.writeBytes将字符串中的16位的unicode字符以8位的字符形式写到流里面
out.writeBytes(content);
out.flush();
out.close();
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null){
System.out.println(line);
}
reader.close();
connection.disconnect();
}
}
在接收端,这样获取参数:
String name = request.getParameter("account");
String pswd = request.getParameter("pswd");
System.out.println(new String(name.getBytes("iso-8859-1"),"UTF-8"));
System.out.println(new String(pswd.getBytes("iso-8859-1"),"UTF-8"));
相关推荐
在Android开发中,HTTP请求是应用与服务器交互的重要方式之一,`HttpURLConnection`是Java标准库提供的一种HTTP客户端API,适合用于发送POST请求。在这个"Android httpUrlConnection Post方式访问网络简单demo"中,...
在本文中,我们将深入探讨如何使用HttpURLConnection实现文件上传,同时也会涉及普通参数的传递。 首先,我们需要理解HTTP请求的基本结构。HTTP请求通常由以下几个部分组成:请求行、请求头、空行和请求体。在文件...
- **以body方式传参**:POST请求通常用于传递大量数据,参数位于请求体中。使用`HttpURLConnection`或`HttpClient`,创建连接,设置请求方法为POST,并写入请求体: ```java HttpURLConnection connection = ...
Java 中使用 URLConnection 类 POST 方式提交表单 Java 中使用 URLConnection 类 POST 方式提交表单是 Java 语言中的一种常用技术,用于实现 HTTP 请求代理。下面我们将详细介绍该技术的实现细节。 首先,我们需要...
在Java后台开发中,HTTP请求是与服务器交互的基础,主要包括GET和POST两种主要方式。本文将深入探讨如何在Java中创建一个封装类来处理这两种请求,同时支持多参数和Cookie的处理。 首先,GET和POST是HTTP协议中的两...
POST方法常用于向服务器提交数据,如表单提交。HttpUtils工具类中,POST请求的实现可能如下: ```java public static String sendPost(String url, Map, String> params) { // 参数处理 // ... // 使用...
在Java编程中,当涉及到网络通信,特别是使用HTTPS协议与远程服务器进行数据交换时,可能会遇到各种问题,尤其是在处理包含中文字符的数据时。本篇文章将深入探讨如何使用`HttpsURLConnection`来正确地发送和接收...
本文将详细介绍如何使用`HttpURLConnection`和`HttpClient`这两种方式来实现这一目标。 首先,让我们从`HttpURLConnection`开始。`HttpURLConnection`是Java内置的HTTP客户端,它简单且易于使用,适用于轻量级的...
本教程将详细解释如何使用POST方法附带身份验证和自带参数来调用接口,这在开发中非常重要,尤其是在涉及到用户登录、数据提交等场景。 首先,我们要理解身份验证的概念。身份验证是确认用户或应用程序是否具有访问...
在Java编程环境中,当需要与Web服务器交互,例如上传文件时,`HttpURLConnection`是一个常见的选择,因为它提供了灵活且高效的方式。本篇文章将详细讲解如何使用`HttpURLConnection`实现文件上传,同时涉及到服务器...
5. **POST请求发送**:使用Java的`HttpURLConnection`或第三方库如Apache HttpClient,构造POST请求,将签名后的参数发送到支付宝服务器。 6. **处理响应**:支付宝服务器会返回一个包含支付结果的XML或JSON响应。...
在Java编程中,后台调用URL路径并传递参数是一项常见的任务,这通常涉及到网络请求的实现。Java提供了多种库来处理这种需求,如HttpURLConnection、Apache HttpClient等。在这个场景下,我们将重点讨论使用Apache ...
在Java中,`HttpURLConnection`类是发送HTTP请求最基础且直接的方式。下面将详细解析如何利用`HttpURLConnection`来构建并发送一个包含JSON数据的POST请求: ```java import java.io.BufferedReader; import java....
GET请求通常用于从服务器获取资源,参数通过URL传递。在Java中,我们可以使用`java.net.URL`和`java.net.HttpURLConnection`类来实现GET请求: ```java URL url = new URL("http://example.com"); ...
2. **URL管理**:CUrl类可以方便地构造和管理URL,支持带参数的URL,允许开发者传递查询字符串或者路径参数。 3. **请求头设置**:CUrl类提供了设置请求头的功能,开发者可以添加自定义的HTTP头部字段,如Content-...
这里主要介绍使用HttpURLConnection的方式,因为它已经内置于Java标准库中,无需额外依赖。 以下是一个简单的使用HttpURLConnection发送GET请求的示例: ```java import java.io.BufferedReader; import java.io....
- 在Java程序中发送短信可能涉及与短信网关交互,这通常需要使用HTTP通信,如POST请求,将短信内容和接收者号码作为参数传递。 - 可能会用到特定的API或服务提供商的SDK,这些通常需要API密钥和特定的请求格式。 ...
文件传输可以通过将文件参数传递给 post 方法来实现。下面是文件传输的示例代码: ```java // 发送文件数据 if (files != null) { for (Map.Entry, File> file : files.entrySet()) { StringBuilder sb1 = new ...
`HttpConnUtils.jar`是一个Java工具类库,它简化了通过URL执行这两种HTTP请求的过程,并允许传递参数。下面我们将详细探讨如何使用此类库以及相关的HTTP基础知识。 1. **HTTP GET请求** - GET请求是最常见的HTTP...
在使用HttpUrlConnection发送GET请求时,我们将参数附加到URL上。例如,如果我们要从一个API获取JSON数据,URL可能类似于`http://api.example.com/data?key=value`。然后,我们可以创建一个HttpURLConnection实例,...