Ⅰ 如何使用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"