Tag: urlconnection

java.io.IOException:服务器返回HTTP响应代码:500

我正在用Java面对这个问题。 我想从URL获取一些HTML信息。 这段代码工作了很长时间,但突然间,它停止了工作。 当我使用浏览器访问此URL时,它会打开没有问题。 代码: URL site = new URL(this.url); java.net.URLConnection yc = site.openConnection(); BufferedReader in = new BufferedReader(new InputStreamReader(yc.getInputStream())); String inputLine; String objetivo = “<td height=\"28\" colspan=\"2\""; while ((inputLine = in.readLine()) != null && !inputLine.contains(objetivo)) { } inputLine = in.readLine(); 例外情况: java.io.IOException: Server returned HTTP response code: 500 for URL: http://www.myurl.com at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source) […]

URLConnection FTP列表文件

URL url = new URL(“ftp://user:pass@ftp.example.com/thefolder/”); URLConnection connection = url.openConnection(); … // List files in folder… 使用类似上面的内容,我想知道如何获取文件夹’thefolder’中的文件列表? 嗨,大家好, 继这个原始问题之后,我将这个简单的FTP连接放在一起,这种连接都很有效。 它可以查看/ live / conf / location中的所有文件,并将它们全部复制到local / conf / location。 唯一的问题是,它正在复制文件,但没有内容。它们都是0KB而且是空的! 任何人都可以看到任何明显的复制文件名但不是文件内容。 干杯 KPS try { FTPClient ftp = new FTPClient(); ftp.connect(“000.000.000.000”); ftp.login(“USER”, “PASSWORD”); ftp.enterLocalPassiveMode(); ftp.setFileType(FTP.BINARY_FILE_TYPE); FTPFile[] files = ftp.listFiles(“/live/conf/”); for (int i=0; i < files.length; i++) […]

Java URLConnection – 我什么时候需要使用connect()方法?

我有一个问题需要理解URLConnection类中connect()方法的含义。 在下面的代码中,如果我使用connect()方法,如果我不使用它,我会得到相同的结果。 为什么(或何时)需要使用它? URL u = new URL(“http://example.com”); HttpURLConnection conn = (HttpURLConnection) u.openConnection(); conn.connect();//with or without it I have the same result InputStream in = conn.getInputStream(); int b; while ((b = in.read()) != -1) { System.out.write(b); }

在URLConnection中设置标头的正确方法是什么?

我的代码如下: URLConnection cnx = address.openConnection(); cnx.setAllowUserInteraction(false); cnx.setDoOutput(true); cnx.addRequestProperty(“User-Agent”, “Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)”); InputStream is = cnx.getInputStream(); 如果我在获得InputStream之前设置标题是否可以? 我的标题会被发送,还是服务器会看到默认的URLConnection的用户代理(如果有的话)?

即使httpCon.setRequestMethod(“GET”),HttpURLConnection也会发送POST请求; 已设定

这是我的代码: String addr = “http://172.26.41.18:8080/domain/list”; URL url = new URL(addr); HttpURLConnection httpCon = (HttpURLConnection) url.openConnection(); httpCon.setDoOutput(true); httpCon.setDoInput(true); httpCon.setUseCaches(false); httpCon.setAllowUserInteraction(false); httpCon.setRequestMethod(“GET”); httpCon.addRequestProperty(“Authorization”, “Basic YWRtaW4fYFgjkl5463”); httpCon.connect(); OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream()); System.out.println(httpCon.getResponseCode()); System.out.println(httpCon.getResponseMessage()); out.close(); 我在回应中看到了什么: 500服务器错误 我打开我的httpCon var,以及我看到的内容: POST / rest / platform / domain / list HTTP / 1.1 为什么即使我使用了httpCon.setRequestMethod(“GET”);它也设置为POST httpCon.setRequestMethod(“GET”); 把它设置为GET?

我可以覆盖使用java的HttpUrlConnection类的Host头吗?

我正在使用以下代码在java中打开http连接: URL url = new URL(“http://stackoverflow.com”); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setRequestMethod(“GET”); conn.setRequestProperty(“Host”, “Test:8080”); conn.getOutputStream(); 但是,调用conn.setRequestProperty(“Host”,“Test:8080”)似乎无效,无论我调用方法的顺序如何,主机都重置为目标服务器。 有没有办法在不使用其他库的情况下覆盖Host头? TIA Matt

从Java应用程序调用Servlet

我想从Java应用程序调用Servlet。 问题是,调用似乎没有到达Servlet。 我没有收到任何错误,但是没有到达Servlet中的第一个输出“doPost”。 如果我在网络浏览器中打开URL,我当然得到了GET不支持的错误等,但至少我看到,有些事情发生了。 我使用以下代码(ActionPackage类只包含参数Vector并且是Serializable): Java应用程序: ActionPackage p = new ActionPackage(); p.addParameter(“TEST”, “VALUE”); System.out.println(p); URL gwtServlet = null; try { gwtServlet = new URL(“http://localhost:8888/app/PushServlet”); HttpURLConnection servletConnection = (HttpURLConnection) gwtServlet.openConnection(); servletConnection.setRequestMethod(“POST”); servletConnection.setDoOutput(true); ObjectOutputStream objOut = new ObjectOutputStream(servletConnection.getOutputStream()); objOut.writeObject(p); objOut.flush(); objOut.close(); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { […]

使用HTTP请求下载文件的一部分

我正在尝试下载PDF文件的一部分(仅用于测试“Range”标题)。 我请求服务器获取Range中的字节(0-24),但仍然不是从内容中获取前25个字节(一部分),而是获取全长内容。 此外,我没有得到响应代码206(部分内容),而是将响应代码设置为200。 这是我的代码: public static void main(String a[]) { try { URL url = new URL(“http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-windows-x64.exe?AuthParam=1372502269_599691fc0025a1f2da7723b644f44ece”); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestProperty(“Range”, “Bytes=0-24”); urlConnection.connect(); System.out.println(“Respnse Code: ” + urlConnection.getResponseCode()); System.out.println(“Content-Length: ” + urlConnection.getContentLengthLong()); InputStream inputStream = urlConnection.getInputStream(); long size = 0; while(inputStream.read() != -1 ) size++; System.out.println(“Downloaded Size: ” + size); }catch(MalformedURLException mue) { […]

从URLConnection读取二进制文件

我正在尝试从URLConnection读取二进制文件。 当我用文本文件测试它似乎工作正常,但对于二进制文件它没有。 发送文件时,我在服务器上使用以下mime-type: application/octet-stream 但到目前为止似乎没有任何效果。 这是我用来接收文件的代码: file = File.createTempFile( “tempfile”, “.bin”); file.deleteOnExit(); URL url = new URL( “http://sofzh.miximages.com/java/f” ); URLConnection connection = url.openConnection(); BufferedReader input = new BufferedReader( new InputStreamReader( connection.getInputStream() ) ); Writer writer = new OutputStreamWriter( new FileOutputStream( file ) ); int c; while( ( c = input.read() ) != -1 ) { […]

如何在java.net.URLConnection上指定本地地址?

我的Tomcat实例正在侦听多个IP地址,但我想控制打开URLConnection时使用的源IP地址。 我怎么指定这个?