在Java中调用大型URL
在Java中如何调用大型URL?我正在将scene7图像服务器与java应用程序集成。在这里,我调用一个大约10000个字符的URL,它应该会返回一个图像。我有什么办法可以做到这一点 我写的方式是——在Java中调用大型URL,java,url,post,get,adobe,Java,Url,Post,Get,Adobe,在Java中如何调用大型URL?我正在将scene7图像服务器与java应用程序集成。在这里,我调用一个大约10000个字符的URL,它应该会返回一个图像。我有什么办法可以做到这一点 我写的方式是—— URL oURL= new URL("<*LONG LONG URL - approx. 10k characters*>"); HttpURLConnection connection = (HttpURLConnection) oURL.openConnection(); Inpu
URL oURL= new URL("<*LONG LONG URL - approx. 10k characters*>");
HttpURLConnection connection = (HttpURLConnection) oURL.openConnection();
InputStream stream = connection.getInputStream();
int len;
byte[] buf = new byte[1024];
BufferedImage bi = ImageIO.read(stream);
ImageIO.write(bi,"png",response.getOutputStream());
while ((len = stream.read(buf)) > 0) {
outs.write(buf, 0, len);
}
URL-oURL=新URL(“”);
HttpURLConnection connection=(HttpURLConnection)oURL.openConnection();
InputStream=connection.getInputStream();
内伦;
字节[]buf=新字节[1024];
BuffereImage bi=ImageIO.read(流);
write(bi,“png”,response.getOutputStream());
而((len=stream.read(buf))>0){
输出。写入(buf,0,len);
}
虽然HTTP 1.1规范没有对URL的长度(大小)进行限制,但您正在使用的服务器可能会。您应该检查所连接服务器的文档(在本例中为Adobe的Scene7)。您将无法获得长时间的URL来可靠地工作。你可以依靠的最长工作时间大约是2000个字符。除此之外,您可能会遇到浏览器或服务器端限制。(甚至中间代理服务器中的限制)
你需要“跳出框框思考”。例如:
- 以POST数据的形式传递一些当前编码在URL中的信息
- 以自定义请求头(EWW!!)的形式传递一些信息,或
- 想出一个聪明的方法来编码(或压缩)URL的信息部分
URL url = new URL("<extremely long URL>");
Image image = ImageIO.read(url);
URL=newurl(“”);
Image=ImageIO.read(url);
所以我想知道你是不是在要求其他东西。为什么url中有这么多字符?你试过了吗?发生了什么事?我想你可能有个大问题@八达通是的,我试过了,它给了我400个错误,我想这是由于得到了请求,因为添加了带有大查询字符串的大URL。你有什么建议吗?@BrianAgnew谢谢,但我更关心的是通过Java而不是通过浏览器调用URL。。。你能更新一下吗?在你提供的URL上,我有什么特别的事情需要调查吗?我们可以假设你有一个现有的服务器可以处理这个大的URL吗?