public class HttpUtil { private static Logger logger = Logger.getLogger(HttpUtil.class); final static String url = HttpURLUtil.SENDGIFTURL; final static String params = "{\"prodId\":\"0\"}"; /** * 发送HttpPost请求 * * @param strURL * 服务地址 * @param params * json字符串,例如: "{ \"id\":\"12345\" }" ;其中属性名必须带双引号<br/> * @return 成功:返回json字符串<br/> */ public static String post(String strURL, String params) { System.out.println(strURL); System.out.println(params); try { URL url = new URL(strURL);// 创建连接 HttpURLConnection connection = (HttpURLConnection) url .openConnection(); connection.setDoOutput(true); connection.setDoInput(true); connection.setUseCaches(false); connection.setInstanceFollowRedirects(true); connection.setRequestMethod("POST"); // 设置请求方式 connection.setRequestProperty("Accept", "application/json"); // 设置接收数据的格式 connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式 connection.connect(); OutputStreamWriter out = new OutputStreamWriter( connection.getOutputStream(), "UTF-8"); // utf-8编码 out.append(params); out.flush(); out.close(); // 读取响应 int length = (int) connection.getContentLength();// 获取长度 InputStream is = connection.getInputStream(); if (length != -1) { byte[] data = new byte[length]; byte[] temp = new byte[512]; int readLen = 0; int destPos = 0; while ((readLen = is.read(temp)) > 0) { System.arraycopy(temp, 0, data, destPos, readLen); destPos += readLen; } String result = new String(data, "UTF-8"); // utf-8编码 System.out.println(result); return result; } } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return "error"; // 自定义错误信息 } public static void main(String[] args) { post(url, params); } }
相关推荐
以上步骤提供了一个基本的框架,但实际应用中可能需要处理更多细节,如添加请求头(如`Content-Type: application/json`)、处理POST请求(包括设置输出流和写入请求体)、错误处理等。 在进行网络请求时,为了遵守...
在Java中,可以使用`java.net.URL`、`java.net.HttpURLConnection`或第三方库如Apache HttpClient来构建HTTP POST请求。以下是一个使用HttpURLConnection的基本示例: ```java URL url = new URL(...
以`HttpURLConnection`为例,我们需要设置HTTP请求方法(通常是POST或GET),添加请求头(如Content-Type: application/json),并编写请求体,以JSON格式发送数据。例如,我们可以创建一个JSONObject,然后将其转换...
例如,通过POST或GET方法向服务器发送请求,获取XML或JSON响应。使用OkHttp能更好地处理异步请求,避免阻塞UI线程。为了实现异步通信,我们可以使用Android的AsyncTask类,或者更现代的Retrofit库,它集成了OkHttp并...
1. JSON或XML数据格式:服务器通常会以JSON或XML格式返回数据,Android客户端需要解析这些数据。 2. 请求参数:在POST请求中,需要将数据封装到请求体中。 3. 异步处理:Android客户端应使用异步方式发送请求,避免...
在Android中,实现GET和POST请求,我们可以使用`HttpURLConnection`、`HttpClient`(已废弃但仍然可用)或者第三方库如Retrofit、Volley等。以下是一个基于HttpClient的简单示例: ```java // 创建HttpClient实例 ...
在提供的博客链接中,作者可能会分享关于如何有效使用`HttpURLConnection`进行HTTP请求的实践案例,包括错误处理、性能优化以及与其他库(如Apache HttpClient)的对比分析。通过阅读和学习这样的内容,开发者可以更...
1. 使用HttpURLConnection或OkHttp库:在Android应用中,我们可以使用HttpURLConnection或者第三方库如OkHttp来发起POST请求。OkHttp以其高性能和易用性而被广泛采用。通过创建OkHttpClient实例,构建RequestBody...
标题中的“http请求测试实例(采用json-lib解析)”指的是一个使用HTTP协议进行网络通信的实践案例,其中涉及了对JSON数据的处理,利用了json-lib这个Java库。JSON(JavaScript Object Notation)是一种轻量级的数据...
在Android客户端,主要使用HttpURLConnection或OkHttp库进行网络请求,发送GET或POST请求到服务端获取JSON数据。此外,Android也提供了Gson库和org.json库来解析JSON字符串成Java对象,便于处理数据。例如,可以使用...
通过案例,你可以学习如何进行GET和POST请求,处理JSON或XML数据,以及如何使用异步任务或者协程避免阻塞主线程。 数据存储也是关键。SQLite数据库用于本地持久化数据,而SharedPreferences则适用于轻量级的键值对...
JSON数据通常通过POST或GET方法发送到服务器,然后由服务器返回。Android SDK提供了org.json库,可以用来解析和构建JSON对象。例如,你可以创建一个JSONObject或JSONArray,添加键值对,然后将它们转换为字符串,...
"InternetDemo.7z"这个压缩包文件包含了一个示例,展示了如何使用HttpURLConnection进行GET和POST网络请求,以及如何使用JSONObject和Gson库来解析JSON字符串。以下是这些知识点的详细解释: 1. **...
.post(RequestBody.create(MediaType.parse("application/json"), "{\"username\":\"user\",\"password\":\"pass\"}")) .build(); Response response = client.newCall(request).execute(); ``` 3. **JSON序列化...
在这个例子中,可能使用了HttpURLConnection或HttpClient来向.NET Web服务发送GET或POST请求,获取JSON格式的响应数据。 3. **JSON解析**:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人...
案例可能包括如何发送GET和POST请求,处理JSON或XML数据,实现WebSocket实时通信等。 4. **多媒体处理**:Android支持音频、视频的播放与录制,图像处理等。案例可能涉及到Camera API的使用,MediaRecorder和...
在这个特定的案例中,我们有一个源码示例,展示了如何利用JSON(JavaScript Object Notation)这一轻量级的数据交换格式,通过Android客户端来访问Web服务器,实现一个登录功能。这涉及到网络编程、JSON解析以及用户...
开发者会学习如何发送GET和POST请求,解析JSON或XML数据,并在UI上展示。 5. **异步处理**:Android应用的响应性至关重要,因此需要避免在主线程中执行耗时操作。AsyncTask、IntentService和现代的协程(Coroutines)...
在这个案例中,我们将会探讨以下几个关键知识点: 1. **GridView的使用**: GridView是Android中的一个视图容器,它可以将数据集以网格的形式展示。在XML布局文件中,我们需要添加GridView标签,并设置相应的属性...
案例中可能会展示如何发送GET和POST请求,以及如何解析返回的数据。 4. **异步处理**:Android应用的网络操作、大数据处理等耗时任务应放在主线程之外执行,以防阻塞用户界面。可以使用AsyncTask、IntentService或...