`
羊小绵
  • 浏览: 51329 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
文章分类
社区版块
存档分类
最新评论

JAVA HttpURLConnection Post方式提交传递参数

阅读更多

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 httpUrlConnection Post方式访问网络简单demo

    在Android开发中,HTTP请求是应用与服务器交互的重要方式之一,`HttpURLConnection`是Java标准库提供的一种HTTP客户端API,适合用于发送POST请求。在这个"Android httpUrlConnection Post方式访问网络简单demo"中,...

    Java自带的HttpURLConnection访问接口实现文件上传

    在本文中,我们将深入探讨如何使用HttpURLConnection实现文件上传,同时也会涉及普通参数的传递。 首先,我们需要理解HTTP请求的基本结构。HTTP请求通常由以下几个部分组成:请求行、请求头、空行和请求体。在文件...

    service_java接口远程调用_get、post、带参数远程调用_

    - **以body方式传参**:POST请求通常用于传递大量数据,参数位于请求体中。使用`HttpURLConnection`或`HttpClient`,创建连接,设置请求方法为POST,并写入请求体: ```java HttpURLConnection connection = ...

    java中用URLConnection类post方式提交表单.pdf

    Java 中使用 URLConnection 类 POST 方式提交表单 Java 中使用 URLConnection 类 POST 方式提交表单是 Java 语言中的一种常用技术,用于实现 HTTP 请求代理。下面我们将详细介绍该技术的实现细节。 首先,我们需要...

    java后台用GET POST方式提交封装类

    在Java后台开发中,HTTP请求是与服务器交互的基础,主要包括GET和POST两种主要方式。本文将深入探讨如何在Java中创建一个封装类来处理这两种请求,同时支持多参数和Cookie的处理。 首先,GET和POST是HTTP协议中的两...

    HttpUtils Java get post 工具类

    POST方法常用于向服务器提交数据,如表单提交。HttpUtils工具类中,POST请求的实现可能如下: ```java public static String sendPost(String url, Map, String> params) { // 参数处理 // ... // 使用...

    使用HttpURLConnection或HttpClient方式传json值到spring中

    本文将详细介绍如何使用`HttpURLConnection`和`HttpClient`这两种方式来实现这一目标。 首先,让我们从`HttpURLConnection`开始。`HttpURLConnection`是Java内置的HTTP客户端,它简单且易于使用,适用于轻量级的...

    支付宝即时支付接口+post方式提交

    5. **POST请求发送**:使用Java的`HttpURLConnection`或第三方库如Apache HttpClient,构造POST请求,将签名后的参数发送到支付宝服务器。 6. **处理响应**:支付宝服务器会返回一个包含支付结果的XML或JSON响应。...

    Java语言后台实现调用url路径并传参

    在Java编程中,后台调用URL路径并传递参数是一项常见的任务,这通常涉及到网络请求的实现。Java提供了多种库来处理这种需求,如HttpURLConnection、Apache HttpClient等。在这个场景下,我们将重点讨论使用Apache ...

    post调用接口(附带身份验证和自带参数的方式)

    本教程将详细解释如何使用POST方法附带身份验证和自带参数来调用接口,这在开发中非常重要,尤其是在涉及到用户登录、数据提交等场景。 首先,我们要理解身份验证的概念。身份验证是确认用户或应用程序是否具有访问...

    java 用HttpsURLConnection进行传递中文时错误总结

    在Java编程中,当涉及到网络通信,特别是使用HTTPS协议与远程服务器进行数据交换时,可能会遇到各种问题,尤其是在处理包含中文字符的数据时。本篇文章将深入探讨如何使用`HttpsURLConnection`来正确地发送和接收...

    java代码发送JSON格式的httpPOST请求

    在Java中,`HttpURLConnection`类是发送HTTP请求最基础且直接的方式。下面将详细解析如何利用`HttpURLConnection`来构建并发送一个包含JSON数据的POST请求: ```java import java.io.BufferedReader; import java....

    java 后台实现get post 提交访问其他网站

    GET请求通常用于从服务器获取资源,参数通过URL传递。在Java中,我们可以使用`java.net.URL`和`java.net.HttpURLConnection`类来实现GET请求: ```java URL url = new URL("http://example.com"); ...

    java发送post和get请求源码及jar包

    这里主要介绍使用HttpURLConnection的方式,因为它已经内置于Java标准库中,无需额外依赖。 以下是一个简单的使用HttpURLConnection发送GET请求的示例: ```java import java.io.BufferedReader; import java.io....

    CUrl类是以命令行工具CUrl为参考使用标准Java的HttpURLConnection实现的Http工具类

    2. **URL管理**:CUrl类可以方便地构造和管理URL,支持带参数的URL,允许开发者传递查询字符串或者路径参数。 3. **请求头设置**:CUrl类提供了设置请求头的功能,开发者可以添加自定义的HTTP头部字段,如Content-...

    http_post.rar_http post ja_java http post

    - 在Java程序中发送短信可能涉及与短信网关交互,这通常需要使用HTTP通信,如POST请求,将短信内容和接收者号码作为参数传递。 - 可能会用到特定的API或服务提供商的SDK,这些通常需要API密钥和特定的请求格式。 ...

    java HttpURLConnection 发送文件和字符串信息

    文件传输可以通过将文件参数传递给 post 方法来实现。下面是文件传输的示例代码: ```java // 发送文件数据 if (files != null) { for (Map.Entry, File> file : files.entrySet()) { StringBuilder sb1 = new ...

    java使用url发送post和get请求:HttpConnUtils.jar

    `HttpConnUtils.jar`是一个Java工具类库,它简化了通过URL执行这两种HTTP请求的过程,并允许传递参数。下面我们将详细探讨如何使用此类库以及相关的HTTP基础知识。 1. **HTTP GET请求** - GET请求是最常见的HTTP...

    Android HttpUrlConnection json使用方法

    在使用HttpUrlConnection发送GET请求时,我们将参数附加到URL上。例如,如果我们要从一个API获取JSON数据,URL可能类似于`http://api.example.com/data?key=value`。然后,我们可以创建一个HttpURLConnection实例,...

    Http学习之使用HttpURLConnection发送post和get请求 android

    2. POST请求:用于提交数据到服务器进行处理,参数通过消息主体发送,可以处理大量数据,非幂等,可能会改变服务器状态。 接下来,我们将详细讲解如何使用`HttpURLConnection`实现这两种请求。 **发送GET请求** `...

Global site tag (gtag.js) - Google Analytics