URL url = new URL("http://www.vckbase.com/code/downcode.asp?id=2817");
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection ();
再如何才能获得要下载的文件名呢?
还是用别的方法呢?
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection ();
再如何才能获得要下载的文件名呢?
还是用别的方法呢?
解决方案 »
- Java里如何动态生成方法名!!!
- 有那个好心人给我发struts+spring+hibernate 和struts+hibernate项目?
- 大家一起为奥运出力,看我的奥运倒计时问题出在哪里? (applet,线程的关闭)
- 能不能把一个普通的java project绑定到tomcat上运行?
- 初学者提问,关于 Servlet的配置;
- 一個關於URL類的問題
- 请问在2000中 ,怎么设置路径??
- 如何动态修改层(<div ....> </div>)的显示与否?
- 请问有谁做过用java做数据统计
- java中线程销毁的问题,请解答!
- 请教以下错误提示信息,谢谢!
- 为什么StringBuffer类没有endWith()方法?
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();
URL absUrl = httpConnection.getURL();System.out.println(absUrl);
"3xx响应的Location就是最终文件的绝对路径。"
什么意思?
能举个例子吗?
谢谢!!!URL url = new URL("http://www.vckbase.com/code/downcode.asp?id=2817");
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection();
URL absUrl = httpConnection.getURL();System.out.println(absUrl);absUrl还是原来的地址呀!
2xx是连接成功的意思.
5xx是服务器有错误发生的意思.HttpURLConnection 里面有个如果重定向,就直接跳转到重定向的url,具体代码我忘了.
你可以获取http响应,应该有个参数是重定向的文件地址.
看到没,下面这行,返回302,说明重定向了.
2006-07-14 14:05:52 HTTP/1.1 302 Object moved看见没,下面这行,说明重定向后的地址:
Location: /code/graphics/galgo/catwork0512.exe你只要获取这条返回信息,之后再去下载这个url就可以了.2006-07-14 14:05:52 连接www.vckbase.com:80...
2006-07-14 14:05:52 连接www.vckbase.com:80成功
2006-07-14 14:05:52 GET /code/downcode.asp?id=2817 HTTP/1.1
2006-07-14 14:05:52 Host: www.vckbase.com
2006-07-14 14:05:52 Accept: */*
2006-07-14 14:05:52 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
2006-07-14 14:05:52 Referer: http://www.vckbase.com/code
2006-07-14 14:05:52 Pragma: no-cache
2006-07-14 14:05:52 Cache-Control: no-cache
2006-07-14 14:05:52 Connection: close
2006-07-14 14:05:52 HTTP/1.1 302 Object moved
2006-07-14 14:05:52 Connection: close
2006-07-14 14:05:52 Date: Fri, 14 Jul 2006 06:03:53 GMT
2006-07-14 14:05:52 Server: Microsoft-IIS/6.0
2006-07-14 14:05:52 X-Powered-By: ASP.NET
2006-07-14 14:05:52 Location: /code/graphics/galgo/catwork0512.exe
2006-07-14 14:05:52 Content-Length: 157
2006-07-14 14:05:52 Content-Type: text/html
2006-07-14 14:05:52 Set-Cookie: ASPSESSIONIDCACADAAS=EBJOAAGDFHJHIOMAAONDEPFJ; path=/
2006-07-14 14:05:52 Cache-control: private
2006-07-14 14:05:52 重定向到http://www.vckbase.com/code/graphics/galgo/catwork0512.exe
2006-07-14 14:05:52 连接www.vckbase.com:80...
2006-07-14 14:05:52 连接www.vckbase.com:80成功
2006-07-14 14:05:52 GET /code/graphics/galgo/catwork0512.exe HTTP/1.1
2006-07-14 14:05:52 Host: www.vckbase.com
2006-07-14 14:05:52 Accept: */*
2006-07-14 14:05:52 User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
2006-07-14 14:05:52 Referer: http://www.vckbase.com/code/graphics/galgo
2006-07-14 14:05:52 Cookie: ASPSESSIONIDCACADAAS=EBJOAAGDFHJHIOMAAONDEPFJ
2006-07-14 14:05:52 Pragma: no-cache
2006-07-14 14:05:52 Cache-Control: no-cache
2006-07-14 14:05:52 Connection: close
2006-07-14 14:05:53 HTTP/1.1 200 OK
2006-07-14 14:05:53 Content-Length: 504552
2006-07-14 14:05:53 Content-Type: application/octet-stream
2006-07-14 14:05:53 Last-Modified: Thu, 24 Nov 2005 01:32:08 GMT
2006-07-14 14:05:53 Accept-Ranges: bytes
2006-07-14 14:05:53 ETag: "4ad97de296f0c51:20ef"
2006-07-14 14:05:53 Server: Microsoft-IIS/6.0
2006-07-14 14:05:53 X-Powered-By: ASP.NET
2006-07-14 14:05:53 Date: Fri, 14 Jul 2006 06:03:53 GMT
2006-07-14 14:05:53 Connection: close
2006-07-14 14:05:53 开始读取数据...
2006-07-14 14:05:54 连接www.vckbase.com:80...
2006-07-14 14:05:55 被中止,退出
URL url = new URL("http://www.vckbase.com/code/downcode.asp?id=2817");
HttpURLConnection httpConnection = (HttpURLConnection)url.openConnection ();
httpConnection.setRequestProperty("User-Agent","NetFox");
int responseCode=httpConnection.getResponseCode();
但responseCode总等于200还有如何打印出返回的信息??
再次谢谢你,楼上
至于打印信息,这是个exe文件,就下载到本地吧:InputStream in = (InputStream)httpConnection.getContent();
FileOutputStream f = new FileOutputStream(new File("d:/aa.exe"));
int i = 0;
while(i != -1){
i = in.read();
f.write(i);
}
in.close();
f.flush();
f.close();
2006-07-14 14:05:52 Location: /code/graphics/galgo/catwork0512.exe
504552
application/octet-stream
Thu, 24 Nov 2005 01:32:08 GMT
bytes
"4ad97de296f0c51:2137"
Microsoft-IIS/6.0
ASP.NET
Thu, 20 Jul 2006 14:58:24 GMT这个url是用asp传输文件的,并没有重定向。
谢谢,大哥的帮忙!