Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中调用大型URL_Java_Url_Post_Get_Adobe - Fatal编程技术网

在Java中调用大型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

在Java中如何调用大型URL?我正在将scene7图像服务器与java应用程序集成。在这里,我调用一个大约10000个字符的URL,它应该会返回一个图像。我有什么办法可以做到这一点

我写的方式是——

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 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吗?