package com.xtu.image.google;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;public class TestFlickr {public static void main(String[] args) throws Exception {
String url = null;url = "http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key=2a74f29247d4837776ec38acc72dfb7d&extras=original_format&per_page=100&format=json&tags=apple";  URLConnection connection = new URL(url).openConnection();
InputStream is = connection.getInputStream();InputStreamReader isr = new InputStreamReader(is);BufferedReader br = new BufferedReader(isr);StringBuffer buffer = new StringBuffer();
String line = null;
while ((line = br.readLine()) != null) {
buffer.append(line);
}
br.close();
isr.close();
is.close();
System.out.println(buffer);}}抛出的异常
Exception in thread "main" java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:687)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:652)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1064)
at com.xtu.image.google.TestFlickr.main(TestFlickr.java:20)
url没错啊 在网页上直接输入能够看到flickr返回的字符串啊。。

解决方案 »

  1.   

    代码正常,应该是你的网络问题。jsonFlickrApi({"photos":{"page":1, "pages":9753, "perpage":100, "total":"975234", "photo":[{"id":"6119020692", "owner":"10040790@N08", "secret":"5f21f61274", "server":"6182", "farm":7, "title":"Mine?", "ispublic":1, "isfriend":0, "isfamily":0, "originalsecret":"e88e6c0537", "originalformat":"jpg"}, 
    .......
    {"id":"6117980819", "owner":"89927564@N00", "secret":"f3d16f8274", "server":"6069", "Building", "ispublic":1, "isfriend":0, "isfamily":0, "originalsecret":"ffb3fff8d7", "originalformat":"jpg"}]}, "stat":"ok"})
      

  2.   


    HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection();
    connection.disconnect();
      

  3.   


    获取不了  能看到你的结果 那就是正常结果了 
    直接在地址栏输入用到的 url可以获得它
    用火狐有时获取不了 用safari可以正常获取
      

  4.   

    会不会是myeclipse里面有链接超时的设置  链接超过了设定的时间限制 
      

  5.   

    我在Myeclipse Eclipse cmd三种环境都没有问题。应该是你的网络问题。