原文地址:http://www.blogjava.net/jzone/articles/277430.html
java 对HTTP网络协议的资源请求,java api上是这样说的:“每个 HttpURLConnection 实例都可用于生成单个请求,但是其他实例可以透明地共享连接到 HTTP 服务器的基础网络。”
说的再说都没用,用途简单一句话,java程序向web请求资源的。听老前辈说我这个会有问题,说是有时候不能读取完整数据。不过我是幸运的,用到现在没出现问题,先不管了。
注:在这个实例开发中,我参考了很多资料,对我的帮助都很大,实例的成功要归属这些高手们,注释主要参考下面这位仁兄。
http://www.blogjava.net/supercrsky/articles/247449.html
2009年6月29日14:07:13 PS: 对编码机制做了点改善
package com.yixun.wap;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
/**
*
* @descripte use java.net.HttpURLConnection to request resource form web.
* @author Gavin.lee
* @date 2009-5-23 12:21:00
* @version 1.0
*/
public class TransactionCenter {
private URL url;
private HttpURLConnection urlconn;
String inencoding;
String outencoding;
public TransactionCenter(String inencoding, String outencoding) {
this.inencoding = inencoding;
this.outencoding = outencoding;
}
public String connect(String params, String postUrl) {
BufferedReader br = null;
String response = "", brLine = "";
try {
//params=URLEncoder.encode(params,"GB2312"); //use URLEncoder.encode for encode the params
url = new URL(postUrl);
urlconn = (HttpURLConnection) url.openConnection();
urlconn.setRequestProperty("user-agent","mozilla/4.7 [en] (win98; i)"); //set request header
urlconn.setRequestProperty("X-Forwarded-For", "127.0.0.1");
urlconn.setConnectTimeout(30000);
urlconn.setReadTimeout(30000);
urlconn.setRequestMethod("POST"); // request method, default GET
urlconn.setUseCaches(false); //Post can not user cache
urlconn.setDoOutput(true); //set output from urlconn
urlconn.setDoInput(true); //set input from urlconn
OutputStream out = urlconn.getOutputStream();
out.write(params.getBytes(outencoding));
out.flush();
out.close(); // output stream close,That's means need not to post data to this outputstream
br = new BufferedReader(new InputStreamReader(urlconn.getInputStream(), inencoding));
while((brLine = br.readLine())!=null)
response =(new StringBuilder(String.valueOf(response))).append(brLine).toString();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if(br != null) {
br.close();
}
} catch (IOException e) {
System.out.println("input stream close fail");
}
urlconn.disconnect();
}
return response;
}
public static void main(String[] args) {
TransactionCenter tc = new TransactionCenter("GBK", "GBK");
String response = tc.connect("c_id=10041&cpid=5&c_type=1&lotid=1&expect=08059","http://inter.boss.com/interface/client/requestwap.php?");
System.out.println(response);
}
}
分享到:
相关推荐
JAVA 调用HTTP接口POST或GET实现方式,java通用
java调用HTTP接口(Get请求和Post请求)
Java 调用Http Rest接口 例子说明
java实现调用httpclient接口的类和方法,包括了get和post传参方式,简单易懂
oracle insert数据成功之后调用触发器,触发器调用存储过程,存储实时调用java http
Java自带的HttpURLConnection访问接口文件上传, 含普通参数值传递和文件传递
一个简单的调用HTTP接口发送短信的小例子 直接看代码就能看懂
前段时间 做了个学校的春萌项目,其中用到vue连接后端java接口。 先上后端接口代码: package controller; import net.sf.json.JSONObject; import util.DBUtil; import javax.servlet.ServletException; import ...
java代码-使用java解决http请求SOAP webService接口的源代码 ——学习参考资料:仅用于个人学习使用!
Java 调用Http Rest接口 例子说明2
主要介绍了Java发送http get/post请求调用接口/方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
http和WebService 调用接口Java代码demo,可配置根据情况自行配置内网访问
java调用企业微信接口发送消息所需依赖 文章链接:https://blog.csdn.net/zxl782340680/article/details/79876502
java调用网易云音乐接口,并解析接口数据! 暂时只做了通过关键字搜索相关的歌曲 http请求用的是httpclient4.0以上的版本
主要介绍了java后台调用HttpURLConnection类模拟浏览器请求实例,该实例可用于接口调用,具有一定的实用价值,需要的朋友可以参考下
Java 调用 SAP RFC 案例,附博客地址,SAP RFC开发一步一步 http://blog.csdn.net/iberr/article/details/40895453
从Java到Python 通过http调用接口的方式实现java调用Python程序,进行数据交互
如何用Java SpringBoot实现调用OpenAI ChatGPT的相关接口