useragent的使用
可以欺騙服務器,用手機可以獲取電腦的類型。
conn.setRequestProperty("User-Agent","....");
網絡請求圖片
public class MainActivity extends Activity {
protected static final int SUCCESS = 1;
protected static final int ERROR = 2;
private EditText et_path;
private ImageView iv;
private Button bt_00;
//1.得到消息處理器
private Handler handler = new Handler(){
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case SUCCESS:
Bitmap bitmap = (Bitmap) msg.obj;
iv.setImageBitmap(bitmap);
break;
case ERROR:
Toast.makeText(MainActivity.this, "獲取圖片失敗", 0).show();
break;
}
};
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
et_path = (EditText) findViewById(R.id.et_path);
iv = (ImageView) findViewById(R.id.iv);
bt_00 = (Button) findViewById(R.id.bt_00);
bt_00.setOnClickListener(viewImage);
}
/**
* 點擊查看圖片
*
* @param view
*/
OnClickListener viewImage = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
final String path = et_path.getText().toString().trim();
if (TextUtils.isEmpty(path)) {
Toast.makeText(MainActivity.this, "對不起,圖片路徑不能為空", 0).show();
return;
}
new Thread(){
public void run() {
//開啟新的子線程 去請求網絡 獲取數據
// 顯示這個互聯網上的圖片
try {
// 1.得到圖片的url路徑
URL url = new URL(path);
// 2.通過路徑打開一個http的連接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();// http
conn.setRequestMethod("GET");//設置請求參數為get, 默認的請求方式就是get
conn.setConnectTimeout(5000);//設置請求服務器的超時時間.
// 3.得到服務器的返回信息
String type = conn.getContentType();
int length = conn.getContentLength();
System.out.println("服務器資源的長度:"+length);
System.out.println("服務器返回的數據類型:" + type);
int code = conn.getResponseCode(); // 200 OK 404 資源沒找到 503服務器內部錯誤
if (code == 200) {
InputStream is = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
//iv.setImageBitmap(bitmap);
//不能直接更新ui,通過發消息讓handler去更新ui
Message msg = Message.obtain();//節約了內存
msg.what = SUCCESS;
msg.obj = bitmap;
handler.sendMessage(msg);
is.close();
}
} catch (Exception e) {
e.printStackTrace();
Message msg = Message.obtain();
msg.what = ERROR;
handler.sendMessage(msg);
}
};
}.start();
}
};
}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。