useragent的使用
可以欺騙服務(wù)器,用手機(jī)可以獲取電腦的類型腕唧。
conn.setRequestProperty("User-Agent","....");
網(wǎng)絡(luò)請(qǐng)求圖片
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);
}
/**
* 點(diǎn)擊查看圖片
*
* @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, "對(duì)不起,圖片路徑不能為空", 0).show();
return;
}
new Thread(){
public void run() {
//開(kāi)啟新的子線程 去請(qǐng)求網(wǎng)絡(luò) 獲取數(shù)據(jù)
// 顯示這個(gè)互聯(lián)網(wǎng)上的圖片
try {
// 1.得到圖片的url路徑
URL url = new URL(path);
// 2.通過(guò)路徑打開(kāi)一個(gè)http的連接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();// http
conn.setRequestMethod("GET");//設(shè)置請(qǐng)求參數(shù)為get, 默認(rèn)的請(qǐng)求方式就是get
conn.setConnectTimeout(5000);//設(shè)置請(qǐng)求服務(wù)器的超時(shí)時(shí)間.
// 3.得到服務(wù)器的返回信息
String type = conn.getContentType();
int length = conn.getContentLength();
System.out.println("服務(wù)器資源的長(zhǎng)度:"+length);
System.out.println("服務(wù)器返回的數(shù)據(jù)類型:" + type);
int code = conn.getResponseCode(); // 200 OK 404 資源沒(méi)找到 503服務(wù)器內(nèi)部錯(cuò)誤
if (code == 200) {
InputStream is = conn.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(is);
//iv.setImageBitmap(bitmap);
//不能直接更新ui,通過(guò)發(fā)消息讓handler去更新ui
Message msg = Message.obtain();//節(jié)約了內(nèi)存
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();
}
};
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者