public class HttpPostUtils {
public static String httpPost(String urlAddress,Map<String, String> paramMap){
if(paramMap==null){
paramMap = new HashMap<String, String>();
}
String [] params = new String[paramMap.size()];
int i = 0;
for(String paramKey:paramMap.keySet()){
String param = paramKey+"="+paramMap.get(paramKey);
params[i] = param;
i++;
}
return httpPost(urlAddress, params);
}
public static String httpPost(String urlAddress,List<String> paramList){
if(paramList==null){
paramList = new ArrayList<String>();
}
return httpPost(urlAddress, paramList.toArray(new String[0]));
}
public static String httpPost(String urlAddress,String []params){
URL url = null;
HttpURLConnection con =null;
BufferedReader in = null;
StringBuffer result = new StringBuffer();
try {
url = new URL(urlAddress);
con = (HttpURLConnection) url.openConnection();
con.setUseCaches(false);
con.setDoOutput(true);
con.setRequestMethod("POST");
String paramsTemp = "";
for(String param:params){
if(param!=null&&!"".equals(param.trim())){
paramsTemp+="&"+param;
}
}
byte[] b = paramsTemp.getBytes();
con.getOutputStream().write(b, 0, b.length);
con.getOutputStream().flush();
con.getOutputStream().close();
in = new BufferedReader(new InputStreamReader(con.getInputStream()));
while (true) {
String line = in.readLine();
if (line == null) {
break;
}
else {
result.append(line);
}
}
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(in!=null){
in.close();
}
if(con!=null){
con.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
return result.toString();
}
}
ava.io.IOException: Server returned HTTP response code: 500 for URL: http://physics.whu.edu.cn/show.asp?id=278
java.io.IOException: Server returned HTTP response code: 403 for URL
但是自己却可以用浏览器访问,发现可能是服务器对我们这种java程序屏蔽了。
因为服务器的安全设置不接受Java程序作为客户端访问,解决方案是设置客户端的User Agent
url = new URL("http://physics.whu.edu.cn/show.asp?id=278");
HttpURLConnection connection = (HttpURLConnection) url.
openConnection();
connection.setRequestProperty("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
这样就可以访问了。
分享到:
相关推荐
在Java编程中,HTTP POST请求通常用于向服务器发送数据,比如在登录、注册或提交表单等场景。这里我们将深入探讨如何在Java的main方法中实现这个功能,以及相关的HTTP请求和响应处理。 首先,Java中发送HTTP POST...
本文将详细介绍如何使用Java语言来构建一个可以提交表单数据的HTTP POST请求。此方法通常用于向服务器发送数据,例如用户提交的表单信息。 #### 核心知识点 1. **构建表单HTML字符串** 2. **使用Java模拟HTTP POST...
在Java后端开发中,GET和POST是两种最常见的HTTP请求方法,它们用于客户端与服务器之间的数据交互。了解如何在Java中实现这两种请求是至关重要的,尤其是对于构建Web应用程序。本资料"java后台实现 get post 提交....
接下来,我们看POST请求,它用于向服务器提交数据,例如JSON格式。POST请求的参数通常在请求体中。以下是一个使用`HttpURLConnection`发送JSON的示例: ```java import java.io.OutputStream; import java.net....
HttpClient Post提交多文件及多个普通参数,已经封装成工具类。 需传入 要请求的url 普通参数map 例 map.put("param1","张三"); 需要传入的文件流map 其中key为文件名 服务端接收无乱码。
java实现get请求post请求,文件传输 /** * 发送https请求 * @param requestUrl 请求地址 * @param requestMethod 请求方式(GET、POST) * @param outputStr 提交的数据 * @return 返回微信服务器响应的信息 ...
Java 模拟Ajax POST GET 提交代码,实测很好用。
POST方法用于向服务器发送数据,如表单提交,参数在请求体中,不显示在URL上,且数据量无限制。 1. **GET请求**: - 使用`java.net.URL`和`java.net.HttpURLConnection`类创建GET请求。首先,构造URL对象,然后...
- **POST请求**:用于向服务器提交数据,常用于表单提交或上传文件。POST请求的数据包含在请求体中,对数据大小无限制,比GET更安全,但响应速度相对较慢。 2. **HttpClient使用**:使用HttpClient发送HTTP请求...
在描述中提到的,我们将探讨如何使用Selenium来封装POST参数并提交,以获取异步请求返回的JSON对象值。 首先,理解Selenium的基本结构是必要的。Selenium通常包含WebDriver接口,它提供了一种方式来控制浏览器,并...
本篇文章将详细介绍如何使用Java实现POST和GET两种HTTP请求方法。 首先,GET请求是最基础的HTTP请求方式,通常用于获取资源。在Java中,我们可以使用`java.net.HttpURLConnection`类来实现GET请求。以下是一个简单...
总结来说,使用Java和Android进行HTTP POST提交数据涉及以下步骤: 1. 创建HTTP连接对象,设置请求方法为POST。 2. 设置请求头,如Content-Type(通常为"application/x-www-form-urlencoded")。 3. 编写并发送请求...
在Java编程语言中,发送HTTP请求是常见的网络通信任务,主要涉及HTTP协议的GET和POST方法。本项目提供了一个完整的工程实例,可以帮助开发者理解和实践如何在Java中实现这两种请求方式。下面将详细介绍这两个方法...
客户端方面,Java提供了`HttpURLConnection`类,可以用来发送HTTP POST请求。客户端的实现涉及以下步骤: 1. 创建URL对象:`new URL(urlString)`,其中urlString是服务器地址。 2. 打开连接:`URLConnection ...
HTTP POST请求用于向服务器提交数据,而JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。本篇文章将深入探讨如何在Java中实现这一功能。 首先,我们...
在Java后台开发中,HTTP请求是与服务器交互的基础,主要包括GET和POST两种主要方式。本文将深入探讨如何在Java中创建一个封装类来处理这两种请求,同时支持多参数和Cookie的处理。 首先,GET和POST是HTTP协议中的两...
本篇将详细解释如何使用Java发送PUT、DELETE、POST和GET这四种主要的HTTP请求。 PUT请求常用于更新已有资源,它的特点是替换目标URL指定的整个资源。在Java中,可以使用HttpURLConnection或Apache HttpClient库来...
POST方法是HTTP协议中的一个方法,用于向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中,POST请求可能会导致新的资源的建立和/或已有资源的修改。 在Java中,我们通常使用...