Tag: urlconnection

Java URLConnection超时

我正在尝试从HTTP URLparsingXML文件。 我想要configuration15秒的超时如果XML获取需要更长的时间,我想报告超时。 出于某种原因,setConnectTimeout和setReadTimeout不起作用。 代码如下: URL url = new URL("http://www.myurl.com/sample.xml"); URLConnection urlConn = url.openConnection(); urlConn.setConnectTimeout(15000); urlConn.setReadTimeout(15000); urlConn.setAllowUserInteraction(false); urlConn.setDoOutput(true); InputStream inStream = urlConn.getInputStream(); InputSource input = new InputSource(inStream); 我正在捕捉SocketTimeoutException。 谢谢Chris

Apache HTTP客户端或URLConnection

我需要下载一个Android应用程序的网页,我很难决定是否使用Android的Apache HTTP客户端或Java的URLConnection。 有什么想法吗?

为什么会在URL启动时发生“java.net.ConnectException:Connection超时”exception?

我得到一个ConnectException: Connection timed out我的代码的一些频率。 我正在尝试打开的url已closures。 相同的代码适用于某些用户,但不适用于其他用户。 似乎有一次用户开始得到这个exception,他们继续得到exception。 这是堆栈跟踪: java.net.ConnectException: Connection timed out Caused by: java.net.ConnectException: Connection timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182) at java.net.Socket.connect(Socket.java:516) at java.net.Socket.connect(Socket.java:466) at sun.net.NetworkClient.doConnect(NetworkClient.java:157) at sun.net.www.http.HttpClient.openServer(HttpClient.java:365) at sun.net.www.http.HttpClient.openServer(HttpClient.java:477) at sun.net.www.http.HttpClient.<init>(HttpClient.java:214) at sun.net.www.http.HttpClient.New(HttpClient.java:287) at sun.net.www.http.HttpClient.New(HttpClient.java:299) at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:796) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:748) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:673) at sun.net.www.protocol.http.HttpURLConnection.getOutputStream(HttpURLConnection.java:840) 这里是我的代码片段: URLConnection urlConnection = […]

无法parsing主机“<在此处插入URL>”没有与主机名关联的地址

我试着按照这个教程: 从网上获取数据 我尝试了在平板电脑的最新平台Android 3.0上实现它,但是,我得到这个错误:“ 无法parsing主机”www.anddev.org“没有与主机名关联的地址 ”。 您可以检出我用来certificate文件存在的URL。 http://www.anddev.orghttp://img.dovov.comtut/basic/getdatafromtheweb/loadme.txt 我创build了一个私人类,并使用asynctask进行扩展。 这里是代码: private class Downloader extends AsyncTask<String,Void,String>{ String myString = null; @Override protected String doInBackground(String… arg0) { try{ URL myURL = new URL("http://www.anddev.orghttp://img.dovov.comtut/basic/getdatafromtheweb/loadme.txt"); URLConnection ucon = myURL.openConnection(); InputStream is = ucon.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); ByteArrayBuffer baf = new ByteArrayBuffer(50); int current = 0; while((current=bis.read())!=-1){ baf.append((byte)current); […]

你能解释一下HttpURLConnection的连接过程吗?

我正在使用HTTPURLConnection连接到Web服务。 我知道如何使用HTTPURLConnection但我想了解它是如何工作的。 基本上,我想知道以下几点: HTTPURLConnection试图build立到给定URL的连接? 我能在哪一点知道我能够成功build立连接? 正在build立一个连接,并发送一个步骤/方法调用完成的实际请求? 它是什么方法? 你能解释一下getOutputStream和getInputStream的外行人的function吗? 我注意到,当我试图连接的服务器closures时, getOutputStream出现Exception 。 这是否意味着当我调用getOutputStream时, HTTPURLConnection才会开始build立连接? getInputStream怎么样? 因为我只能得到在getInputStream响应,那么这是否意味着我没有发送任何请求在getOutputStream ,但只是build立一个连接? 当我调用getInputStream时, HttpURLConnection是否会回到服务器请求响应? 我正确地说, openConnection只是创build一个新的连接对象,但不build立任何连接呢? 我如何测量读取开销和连接开销?

Java:简历在URLConnection中下载

我写了一个程序,从一些服务器下载一些文件。 目前程序正常工作。 但是我想添加简历支持。 我这样做但是结果文件已损坏: …. File fcheck=new File(SaveDir+"/"+filename); if(resumebox.isSelected() && fcheck.exists()){ connection.setRequestProperty("Range", "Bytes="+(fcheck.length())+"-"); } connection.setDoInput(true); connection.setDoOutput(true); BufferedInputStream in = new BufferedInputStream (connection.getInputStream()); pbar.setIndeterminate(false); pbar.setStringPainted(true); java.io.FileOutputStream fos ; if(resumebox.isSelected()){ if(fcheck.exists()){ if(connection.getHeaderField("Accept-Ranges").equals("bytes")){ fos = new java.io.FileOutputStream(SaveDir+"/"+filename,true); }else{ fos = new java.io.FileOutputStream(SaveDir+"/"+filename); } }else{ fos = new java.io.FileOutputStream(SaveDir+"/"+filename); } }else{ fos = new java.io.FileOutputStream(SaveDir+"/"+filename); } …. 我在一台我知道支持恢复的服务器上testing它。 我下载了一些字节(72720) […]

什么是URLConnection.setDoOutput()影响?

在URLConnection有setDoOutput() 。 根据我应该的文件 如果打算使用URL连接输出,请将DoOutput标志设置为true,否则设为false。 现在我正好面对这个问题 – 一旦setDoOutput(true)被调用,服务器只响应GET请求,Java运行时将请求转换为POST 。 我想了解如果从代码中删除setDoOutput(true)会发生什么。 这会影响到什么? 假设我把它设置为false – 我现在能做什么,现在我不能做什么? 我能否执行GET请求? 什么是这种方法的“输出”?

Java:如何使用UrlConnection发布具有授权的请求?

我想生成POST请求到需要authentication的服务器。 我试图用下面的方法: private synchronized String CreateNewProductPOST (String urlString, String encodedString, String title, String content, Double price, String tags) { String data = "product[title]=" + URLEncoder.encode(title) + "&product[content]=" + URLEncoder.encode(content) + "&product[price]=" + URLEncoder.encode(price.toString()) + "&tags=" + tags; try { URL url = new URL(urlString); URLConnection conn; conn = url.openConnection(); conn.setRequestProperty ("Authorization", "Basic " + encodedString); […]

将文件从Java客户端上传到HTTP服务器

我想上传几个文件到HTTP服务器。 基本上我需要的是一些POST请求到服务器几个参数和文件。 我见过只上传文件的例子,但没有find如何传递额外的参数。 这样做的最简单和免费的解决scheme是什么? 有没有人有我可以学习的任何file upload的例子? 我一直在Google上search几个小时,但是(也许这只是其中的一个)找不到我所需要的。 最好的解决办法是不涉及任何第三方类或图书馆的东西。

在Servlet中parsing传入的多部分/表单数据参数的方便方法

是否有任何方便的方式来读取和parsing来自请求的数据。 例如,客户发起发布请求 URLConnection connection = new URL(url).openConnection(); connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary); PrintWriter writer = null; try { OutputStream output = connection.getOutputStream(); writer = new PrintWriter(new OutputStreamWriter(output, charset), true); // true = autoFlush, important! // Send normal param. writer.println("–" + boundary); writer.println("Content-Disposition: form-data; name=\"param\""); writer.println("Content-Type: text/plain; charset=" + charset); writer.println(); writer.println(param); 我无法使用request.getParameter("paramName")获得参数。 下面的代码 BufferedReader […]