导航:首页 > 编程语言 > java如何获取一个url跳转后的url

java如何获取一个url跳转后的url

发布时间:2024-10-30 11:50:58

『壹』 怎样用java获取URL返回状态码

可以用以下代码参考一下,如何获取URL返回状态码:

//用getResponseCode可以获取URL返回状态码
Stringsurl="";
try{
surl="你的url";
URLurl=newURL(surl);
URLConnectionrulConnection=url.openConnection();
=(HttpURLConnection)rulConnection;
httpUrlConnection.setConnectTimeout(300000);
httpUrlConnection.setReadTimeout(300000);
httpUrlConnection.connect();
Stringcode=newInteger(httpUrlConnection.getResponseCode()).toString();
Stringmessage=httpUrlConnection.getResponseMessage();
System.out.println("getResponseCodecode="+code);
System.out.println("getResponseMessagemessage="+message);
if(!code.startsWith("2")){
thrownewException("ResponseCodeisnotbeginwith2,code="+code);
}
System.out.println(getCurDateTime()+"连接"+surl+"正常");
}catch(Exceptionex){
System.out.println(ex.getMessage());
}

『贰』 java如何提取url里的域名

java.net.URL 而不抄是 java.Net.URL

使用getHost获取到的域名信息存在安全漏洞,例如:http://127.0.0.1\.123.cn/1.htm这个URL使用getHost得到的域名是127.0.0.1\.123.cn。
建议使用正则表达式

『叁』 JAVA如何获得服务器端重定向后的URL

request.getHeader("REDIRECT_URL");

或试试
那在servlet里边或者action调用request.getRequestURL()就是了。
如果是获得容器内部的请求URI:request.getRequestURI(),两个方法挺象的。

『肆』 如何抓取一个网址下的所有页面链接

由于题目是放在【编程语言】栏目下的,但没有指定希望使用哪种编程语言,我选择使用java语言来实现。

在Java中,使用HttpURLConnection即可连接URL,随后可以使用InputStreamReader获取网页内容文本。然后,使用正则表达式解析网页内容文本,找到所有的<a>标签即实现需求。

以下是详细代码:

importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.net.HttpURLConnection;
importjava.net.URL;
importjava.util.ArrayList;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
publicclassHtmlParser{
/**
*要分析的网页
*/
StringhtmlUrl;
/**
*分析结果
*/
ArrayList<String>hrefList=newArrayList();
/**
*网页编码方式
*/
StringcharSet;
publicHtmlParser(StringhtmlUrl){
//TODO自动生成的构造函数存根
this.htmlUrl=htmlUrl;
}
/**
*获取分析结果
*
*@throwsIOException
*/
publicArrayList<String>getHrefList()throwsIOException{
parser();
returnhrefList;
}
/**
*解析网页链接
*
*@return
*@throwsIOException
*/
privatevoidparser()throwsIOException{
URLurl=newURL(htmlUrl);
HttpURLConnectionconnection=(HttpURLConnection)url.openConnection();
connection.setDoOutput(true);
Stringcontenttype=connection.getContentType();
charSet=getCharset(contenttype);
InputStreamReaderisr=newInputStreamReader(
connection.getInputStream(),charSet);
BufferedReaderbr=newBufferedReader(isr);
Stringstr=null,rs=null;
while((str=br.readLine())!=null){
rs=getHref(str);
if(rs!=null)
hrefList.add(rs);
}
}
/**
*获取网页编码方式
*
*@paramstr
*/
privateStringgetCharset(Stringstr){
Patternpattern=Pattern.compile("charset=.*");
Matchermatcher=pattern.matcher(str);
if(matcher.find())
returnmatcher.group(0).split("charset=")[1];
returnnull;
}
/**
*从一行字符串中读取链接
*
*@return
*/
privateStringgetHref(Stringstr){
Patternpattern=Pattern.compile("<ahref=.*</a>");
Matchermatcher=pattern.matcher(str);
if(matcher.find())
returnmatcher.group(0);
returnnull;
}
publicstaticvoidmain(String[]arg)throwsIOException{
HtmlParsera=newHtmlParser("http://news.163.com/");
ArrayList<String>hrefList=a.getHrefList();
for(inti=0;i<hrefList.size();i++)
System.out.println(hrefList.get(i));
}
}

『伍』 java,导入httpClient包postMethod如何向指定网页传入账号密码,并且获得跳转后页面的url

httpClient包postMethod如何向指定网页传入账号密码
这步用HttpPost就可以成功了,如果别人向你回送跳转后页面的url,你就可以拿到,不然应该是拿不到的。

『陆』 Java请求一个URL。获取网站返回的数据。通过POST请求

packagewzh.Http;

importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.PrintWriter;
importjava.net.URL;
importjava.net.URLConnection;
importjava.util.List;
importjava.util.Map;

publicclassHttpRequest{
/**
*向指定URL发送GET方法的请求
*
*@paramurl
*发送请求的URL
*@paramparam
*请求参数,请求参数应该是name1=value1&name2=value2的形式。
*@returnURL所代表远程资源的响应结果
*/
publicstaticStringsendGet(Stringurl,Stringparam){
Stringresult="";
BufferedReaderin=null;
try{
StringurlNameString=url+"?"+param;
URLrealUrl=newURL(urlNameString);
//打开和URL之间的连接
URLConnectionconnection=realUrl.openConnection();
//设置通用的请求属性
connection.setRequestProperty("accept","*/*");
connection.setRequestProperty("connection","Keep-Alive");
connection.setRequestProperty("user-agent",
"Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");
//建立实际的连接
connection.connect();
//获取所有响应头字段
Map<String,List<String>>map=connection.getHeaderFields();
//遍历所有的响应头字段
for(Stringkey:map.keySet()){
System.out.println(key+"--->"+map.get(key));
}
//定义BufferedReader输入流来读取URL的响应
in=newBufferedReader(newInputStreamReader(
connection.getInputStream()));
Stringline;
while((line=in.readLine())!=null){
result+=line;
}
}catch(Exceptione){
System.out.println("发送GET请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输入流
finally{
try{
if(in!=null){
in.close();
}
}catch(Exceptione2){
e2.printStackTrace();
}
}
returnresult;
}

/**
*向指定URL发送POST方法的请求
*
*@paramurl
*发送请求的URL
*@paramparam
*请求参数,请求参数应该是name1=value1&name2=value2的形式。
*@return所代表远程资源的响应结果
*/
publicstaticStringsendPost(Stringurl,Stringparam){
PrintWriterout=null;
BufferedReaderin=null;
Stringresult="";
try{
URLrealUrl=newURL(url);
//打开和URL之间的连接
URLConnectionconn=realUrl.openConnection();
//设置通用的请求属性
conn.setRequestProperty("accept","*/*");
conn.setRequestProperty("connection","Keep-Alive");
conn.setRequestProperty("user-agent",
"Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1)");
//发送POST请求必须设置如下两行
conn.setDoOutput(true);
conn.setDoInput(true);
//获取URLConnection对象对应的输出流
out=newPrintWriter(conn.getOutputStream());
//发送请求参数
out.print(param);
//flush输出流的缓冲
out.flush();
//定义BufferedReader输入流来读取URL的响应
in=newBufferedReader(
newInputStreamReader(conn.getInputStream()));
Stringline;
while((line=in.readLine())!=null){
result+=line;
}
}catch(Exceptione){
System.out.println("发送POST请求出现异常!"+e);
e.printStackTrace();
}
//使用finally块来关闭输出流、输入流
finally{
try{
if(out!=null){
out.close();
}
if(in!=null){
in.close();
}
}
catch(IOExceptionex){
ex.printStackTrace();
}
}
returnresult;
}
}
//函数调用时填入URL和参数(参数非必须)就可以获取返回的数据,发送post请求调用示例
Stringresult=HttpRequest.sendPost("http://api.map..com/telematics/v3/weather?location=%E5%8C%97%E4%BA%AC&output=json&ak=","")

阅读全文

与java如何获取一个url跳转后的url相关的资料

热点内容
三星s7怎么建文件夹 浏览:704
linux下svn安装有几种方式 浏览:381
c语言如何把数据转换成16进制 浏览:803
怎么删除苹果6S照片 浏览:755
大量文件转换PDF 浏览:549
网络直播收费吗 浏览:790
电脑程序员算什么专业 浏览:141
linux系统拷贝优盘文件丢失 浏览:632
苹果电脑换id怎么设置密码 浏览:716
取名网站源码 浏览:918
win10显示所有托盘 浏览:497
程序设计112 浏览:860
哪个文件要求设立护学岗 浏览:322
运动app哪个距离准 浏览:250
getline属于哪个文件 浏览:562
魅族浏览器文件在哪 浏览:446
win10游戏模式使用教程 浏览:493
无法找到路径的文件怎么删除 浏览:888
小姐qq号 浏览:766
绿联和小米数据线哪个更好 浏览:59

友情链接