一样的逻辑源码 android 和j2se httpurlconnection关于 403 的疑问
无题S 2011-12-14 07:09:32
在android 里面可以访问的http 链接为什么在j2se 里面 就报403 错误,
下面是源码请大家 看一看。。。。。。
public class Tran {
public static void main(String asp[]){
Tran t=new Tran();
t.ini();
}
public void ini(){
try {
byte[] ass=HttpService.getHttpStream("http://translate.google.cn/translate_a/t?client=t&text=Valid%20characters%0A&hl=zh-CN&sl=en&tl=zh-CN&multires=1&prev=enter&ssel=4&tsel=6&sc=1");
System.out.println("-----------"+new String(ass));
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public class HttpService {
public static byte[] getHttpStream(String path) throws Exception{
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(5 * 1000);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.setDoOutput(true);
conn.connect();
System.out.println("---"+conn.getResponseCode());
if(conn.getResponseCode() == 200){
InputStream inStream = conn.getInputStream();
return readStream(inStream);
}
return null;
}
public static byte[] readStream(InputStream inputStream) throws Exception{
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0 ;
while((len = inputStream.read(buffer)) != -1){
outputStream.write(buffer, 0, len);
}
outputStream.close();
inputStream.close();
return outputStream.toByteArray();
}
}