使用java获取403错误

使用java获取403错误,java,Java,当我将URL“”传递给下面的代码时,它返回JSON数据 但当我通过“”时,我得到了403个禁止的错误 我不知道发生了什么事。有什么建议吗 package automation_Demo_First; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; impor

当我将URL“”传递给下面的代码时,它返回JSON数据

但当我通过“”时,我得到了403个禁止的错误

我不知道发生了什么事。有什么建议吗

package automation_Demo_First;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.nio.charset.Charset;

import org.testng.annotations.Test;


public class JsonReader{

    //http://jsonplaceholder.typicode.com/comments?postId=1
    public String url ="http://echo.jsontest.com/key/value/one/two";
    @Test
    public void testJson() throws IOException{

        String data = getDataByJavaIO(url);
        System.out.println(data);
    }



    public String getDataByJavaIO(String url) throws IOException{
        InputStream inputstream = null;
        BufferedReader bufferreader = null;

        try{
            inputstream = new URL(url).openStream();
            bufferreader = new BufferedReader(new InputStreamReader(inputstream, Charset.forName("UTF-8")));
            return readData(bufferreader);

        }catch(IOException e){
            throw e;

        }
        finally{

            closeResource(inputstream);
            closeResource(bufferreader);
        }


    }




    public String readData(Reader reader) throws IOException{

        StringBuilder stringbuilder = new StringBuilder();
        int cp;
        while((cp=reader.read())!=-1){
            stringbuilder.append((char)cp);
        }
        return stringbuilder.toString();


    }

    public void closeResource(AutoCloseable closable){

        try{
            if(closable!=null){
                closable.close();
                System.out.println("\n" +closable.getClass().getName() + "closed ..." );
            }
        }
        catch(Exception e){

            e.printStackTrace(System.err);
        }
    }

}

块中尝试

try {
    inputstream = new URL(url).openStream();
    bufferreader = new BufferedReader(new InputStreamReader(inputstream, Charset.forName("UTF-8")));
    return readData(bufferreader);
}
换成

try {
    HttpURLConnection httpCon = (HttpURLConnection) new URL(url).openConnection();
    httpCon.addRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36");
    inputstream = httpCon.getInputStream();
    bufferreader = new BufferedReader(new InputStreamReader(inputstream, Charset.forName("UTF-8")));
    return readData(bufferreader);
}
来源:

使用:

URLConnection hc = new URL(url).openConnection();
hc.setRequestProperty("User-Agent", "");
inputstream = hc.getInputStream();
而不是:

inputstream = new URL(url).openStream();
可能重复的