Ⅰ 如何使用java调用url接口
原贴地址http://yuanlijia1.iteye.com/blog/1088088
一、在java中调用url,并打开一个新的窗口
Java代码
Stringurl="http://10.58.2.131:8088/spesBiz/test1.jsp";
Stringcmd="cmd.exe/cstart"+url;
try{
Processproc=Runtime.getRuntime().exec(cmd);
proc.waitFor();
}
catch(Exceptione)
{
e.printStackTrace();
}
二、在java中调用url,后台调用。并取得返回值
Java代码
URLU=newURL("http://10.58.2.131:8088/spesBiz/test1.jsp");
URLConnectionconnection=U.openConnection();
connection.connect();
BufferedReaderin=newBufferedReader(newInputStreamReader(connection.getInputStream()));
Stringline;
while((line=in.readLine())!=null)
{
result+=line;
}
in.close();
Ⅱ java中如何实现URL类
java中实现URL类,可以使用java工具类中的URL的类,实例如下:
importjava.io.*;
importjava.net.*;
publicclassURLTest
{
publicstaticvoidmain(String[]args)
{
try
{
URLurl=newURL("http://sports.163.com:80/nba/");//创建资源类型
Stringprotocol=url.getProtocol();//获取资源类型
Stringhost=url.getHost();//获取域名
intport=url.getPort();//获取端口
Stringfile=url.getFile();//获取路径
System.out.println("url地址的资源类型为:"+protocol+"域名为:"+host+"端口为:"+port+"路径为:"+file);
InputStreamis=url.openStream();//获取页面信息流
BufferedReaderbfr=newBufferedReader(newInputStreamReader(is));//封装成字符流
Stringlen;
while((len=bfr.readLine())!=null)
{
System.out.println(len);
}
bfr.close();
is.close();
}
catch(MalformedURLExceptione)
{
System.out.println("创建URL对象发生异常");
}
catch(IOExceptione)
{
System.out.println("发生IO操作异常");
}
}
}
Ⅲ java解析出url请求的路径和参数键值对类
解析url,本想用正则表达式处理,但正则表达式速度较慢。用split处理一下就可以了。
packageRequestPackage;
importjava.util.HashMap;
importjava.util.Map;
publicclassCRequest{
/**
*解析出url请求的路径,包括页面
*@paramstrURLurl地址
*@returnurl路径
*/
publicstaticStringUrlPage(StringstrURL)
{
StringstrPage=null;
String[]arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()>0)
{
if(arrSplit.length>1)
{
if(arrSplit[0]!=null)
{
strPage=arrSplit[0];
}
}
}
returnstrPage;
}
/**
*去掉url中的路径,留下请求参数部分
*@paramstrURLurl地址
*@returnurl请求参数部分
*/
(StringstrURL)
{
StringstrAllParam=null;
String[]arrSplit=null;
strURL=strURL.trim().toLowerCase();
arrSplit=strURL.split("[?]");
if(strURL.length()>1)
{
if(arrSplit.length>1)
{
if(arrSplit[1]!=null)
{
strAllParam=arrSplit[1];
}
}
}
returnstrAllParam;
}
/**
*解析出url参数中的键值对
*如"index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
*@paramURLurl地址
*@returnurl请求参数部分
*/
publicstaticMap<String,String>URLRequest(StringURL)
{
Map<String,String>mapRequest=newHashMap<String,String>();
String[]arrSplit=null;
StringstrUrlParam=TruncateUrlPage(URL);
if(strUrlParam==null)
{
returnmapRequest;
}
//每个键值为一组www.2cto.com
arrSplit=strUrlParam.split("[&]");
for(StringstrSplit:arrSplit)
{
String[]arrSplitEqual=null;
arrSplitEqual=strSplit.split("[=]");
//解析出键值
if(arrSplitEqual.length>1)
{
//正确解析
mapRequest.put(arrSplitEqual[0],arrSplitEqual[1]);
}
else
{
if(arrSplitEqual[0]!="")
{
//只有参数没有值,不加入
mapRequest.put(arrSplitEqual[0],"");
}
}
}
returnmapRequest;
}
}
测试类
packageRequestPackage;
importjava.util.Map;
publicclassTestCRequest{
/**用于测试CRequest类
*@paramargs
*/
publicstaticvoidmain(String[]args){
//请求url
Stringstr="index.jsp?Action=del&id=123&sort=";
//url页面路径
System.out.println(CRequest.UrlPage(str));
//url参数键值对
StringstrRequestKeyAndValues="";
Map<String,String>mapRequest=CRequest.URLRequest(str);
for(StringstrRequestKey:mapRequest.keySet()){
StringstrRequestValue=mapRequest.get(strRequestKey);
strRequestKeyAndValues+="key:"+strRequestKey+",Value:"+strRequestValue+";";
}
System.out.println(strRequestKeyAndValues);
//获取无效键时,输出null
System.out.println(mapRequest.get("page"));
}
}
测试代码运行效果
index.jsp
key:id,Value:123;key:sort,Value:;key:action,Value:del;
null
Ⅳ java如何将字符串转化为URL
将字符串转换成URL可以使用创建一个URL对象,并将字符串赋给这个URL对象。
参考代码如下:
String str = "填写字符串的链接地址";
try {
URL url = new URL(str);
} catch (MalformedURLException e) {
e.printStackTrace();
}
注意,创建URL对象会有异常,所以使用try处理抛出的异常。
Ⅳ 用java怎么写URL接口
在java中,调用http请求接口,主要通过流的方式进行调用,示例接口如下:
/**
* 程序中访问http数据接口
*/
public String searchLoginService(String urlStr) {
/** 网络的url地址 */
URL url = null;
/** http连接 */
HttpURLConnection httpConn = null;
/**//** 输入流 */
BufferedReader in = null;
StringBuffer sb = new StringBuffer();
try{
url = new URL(urlStr);
in = new BufferedReader( new InputStreamReader(url.openStream(),"UTF-8") );
String str = null;
while((str = in.readLine()) != null) {
sb.append( str );
}
} catch (Exception ex) {
logger.error(ex.getMessage(), ex);
} finally{
try{
if(in!=null) {
in.close();
}
}catch(IOException ex) {
logger.error(ex.getMessage(), ex);
}
}
String result =sb.toString();
System.out.println(result);
return result;
}
Ⅵ JAVA URL类中的这个构造函数的参数是什么意思
context是用来保存基路径的,新建的URL的路径会是context中的路径和spec拼接起来的路径。
比如
URL baseURL=new URL("http://www..com");
URL url=new URL(baseURL,"img/bd_logo1.png");
String path=url.toString();//path为"www..com/img/bd_logo1.png"