说明:post与get的区别
get把数据放在地址里传输,不安全且不能传输大数据
post把数据放在body里传输
必须设置 conn.setDoOutput(true);
conn.setRequestProperty(“Content-Type”, “application/x-www-form-urlencoded”);
conn.setRequestProperty(“Content-Length”, data.length() + “”);
public class GetAndPostActivity extends BaseActivity {
private TextView mTextView;
private String mUrl = "http://192.168.0.20:8080/Web/login";
private Handler mHandler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_http);
mTextView = (TextView) findViewById(R.id.textView1);
}
/**
* get请求网络
* @param view
*/
public void getMethod(View view) {
new Thread(new Runnable() {
@Override
public void run() {
final ByteArrayOutputStream bos;
try {
String name = "tom";
String password = "123";
String url = mUrl + "?name=" + name + "&password=" + password;
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setReadTimeout(5000);
conn.setRequestMethod("GET");
conn.setDoOutput(true);
conn.setConnectTimeout(5000);
if (conn.getResponseCode() == 200) {
InputStream inputStream = conn.getInputStream();
bos = new ByteArrayOutputStream();
int len = 0;
byte[] buffer = new byte[1024];
while((len = inputStream.read(buffer ))!=-1){
bos.write(buffer, 0, len);
}
bos.flush();
inputStream.close();
bos.close();
runOnUiThread(new Runnable() {
public void run() {
try {
mTextView.setText(new String(bos.toByteArray(),"utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
/**
* post请求网络
* @param view
*/
public void postMethod(View view) {
new Thread(new Runnable() {
@Override
public void run() {
final ByteArrayOutputStream bos;
try {
String name = "tom";
String password = "123";
String data = "name="+name + "&password=" + password;
HttpURLConnection conn = (HttpURLConnection) new URL(mUrl).openConnection();
conn.setReadTimeout(5000);
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", data.length() + "");
conn.setConnectTimeout(5000);
OutputStream out = conn.getOutputStream();
out.write(data.getBytes());
if (conn.getResponseCode() == 200) {
InputStream inputStream = conn.getInputStream();
bos = new ByteArrayOutputStream();
int len = 0;
byte[] buffer = new byte[1024];
while((len = inputStream.read(buffer ))!=-1){
bos.write(buffer, 0, len);
}
bos.flush();
inputStream.close();
bos.close();
runOnUiThread(new Runnable() {
public void run() {
try {
mTextView.setText(new String(bos.toByteArray(),"utf-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
}
}
———————————————————————
有需求者请加qq:136137465,非诚勿扰
(java 架构师全套教程,共760G, 让你从零到架构师,每月轻松拿3万)
01.高级架构师四十二个阶段高
02.Java高级系统培训架构课程148课时
03.Java高级互联网架构师课程
04.Java互联网架构Netty、Nio、Mina等-视频教程
05.Java高级架构设计2016整理-视频教程
06.架构师基础、高级片
07.Java架构师必修linux运维系列课程
08.Java高级系统培训架构课程116课时
(送:hadoop系列教程,java设计模式与数据结构, Spring Cloud微服务, SpringBoot入门)
——————————————————————–