首页 > 代码库 > 纯 java 实现 Http 资源读取工具,支持发送和接收数据,不依赖任何第三方 jar 包
纯 java 实现 Http 资源读取工具,支持发送和接收数据,不依赖任何第三方 jar 包
原文:纯 java 实现 Http 资源读取工具,支持发送和接收数据,不依赖任何第三方 jar 包
源代码下载地址:http://www.zuidaima.com/share/1550463379950592.htm
纯 java 实现 Http 资源读取工具,支持发送和接收数据,不依赖任何第三方 jar 包
纯 java 实现 Http 资源读取工具,支持发送和接收数据,不依赖任何第三方 jar 包
1. 抓取指定 URL 的资源,可以作为流,也可以作为 String
2. 向指定 URL POST 数据,模拟表单提交。
例如:你想模拟 XXX 自动登陆,然后再发表心情、签名之类的
3. 支持 URL 重定向
/* * Copyright 2012-2013 The Haohui Network Corporation */ package com.haohui.common.utils; /** * @file HttpUtil.java * * @brief * HttpUtil is a single class containing methods to conveniently perform HTTP * requests. HttpUtil only uses regular java io and net functionality and does * not depend on external libraries. * The class contains methods to perform a get, post, put, and delete request, * and supports posting forms. Optionally, one can provide headers. * * Example usage: * * // get * String res = HttpUtil.get("http://www.zuidaima.com"); * * // post * String res = HttpUtil.post("http://www.zuidaima.com/share/1550463379950592.htm", "This is the data"); * * // post form * Map<String, String> params = new HashMap<String, String>(); * params.put("firstname", "Joe"); * params.put("lastname", "Smith"); * params.put("age", "28"); * String res = HttpUtil.postForm("http://site.com/newuser", params); * * // append query parameters to url * String url = "http://mydatabase.com/users"; * Map<String, String> params = new HashMap<String, String>(); * params.put("orderby", "name"); * params.put("limit", "10"); * String fullUrl = HttpUtil.appendQueryParams(url, params); * // fullUrl = "http://mydatabase.com/user?orderby=name&limit=10" * * @license * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. * * Copyright (c) 2012 Almende B.V. * * @author Jos de Jong, <jos@almende.org> www.zuidaima.com * @date 2012-05-14 */ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLDecoder; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; /** * https://raw.github.com/wjosdejong/httputil/master/src/com/almende/util/HttpUtil.java * * @project baidamei * @author cevencheng <cevencheng@gmail.com> * @create 2012-11-17 下午2:35:38 */ public class HttpUtil { /** * Send a get request * @param url * @return response * @throws IOException */ static public String get(String url) throws IOException { return get(url, null); } /** * Send a get request * @param url Url as string * @param headers Optional map with headers * @return response Response as string * @throws IOException */ static public String get(String url, Map<String, String> headers) throws IOException { return fetch("GET", url, null, headers); } /** * Send a post request * @param url Url as string * @param body Request body as string * @param headers Optional map with headers * @return response Response as string * @throws IOException */ static public String post(String url, String body, Map<String, String> headers) throws IOException { return fetch("POST", url, body, headers); } /** * Send a post request * @param url Url as string * @param body Request body as string * @return response Response as string * @throws IOException */ static public String post(String url, String body) throws IOException { return post(url, body, null); } /** * Post a form with parameters * @param url Url as string * @param params map with parameters/values * @return response Response as string * @throws IOException */ static public String postForm(String url, Map<String, String> params) throws IOException { return postForm(url, params, null); } /** * Post a form with parameters * @param url Url as string * @param params Map with parameters/values * @param headers Optional map with headers * @return response Response as string * @throws IOException */ static public String postForm(String url, Map<String, String> params, Map<String, String> headers) throws IOException { // set content type if (headers == null) { headers = new HashMap<String, String>(); } headers.put("Content-Type", "application/x-www-form-urlencoded"); // parse parameters String body = ""; if (params != null) { boolean first = true; for (String param : params.keySet()) { if (first) { first = false; } else { body += "&"; } String value = http://www.mamicode.com/params.get(param);>
纯 java 实现 Http 资源读取工具,支持发送和接收数据,不依赖任何第三方 jar 包
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。