添加依赖 useLibrary 'org.apache.http.legacy'
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
new Thread(new Runnable() {
@Override
public void run() {
// httpclientGet("http://qhb.2dyt.com/Bwei/login?username=111&password=222&postkey=bwei");
Map map = new HashMap();
map.put("username","1fdfdf");
map.put("password","14444");
map.put("postkey","bwei");
httpClientPost("http://qhb.2dyt.com/Bwei/login",map);
}
}).start();
}
// httpclient get
public void httpclientGet(String path){
//创建 HttpClient 对象
HttpClient client = new DefaultHttpClient();
//连接 超时
client.getParams().setParameter(CoreConnectionPNames.CONNECTION_TIMEOUT, 20000);
// 读取超时
client.getParams().setParameter(CoreConnectionPNames.SO_TIMEOUT, 60000);
//创建 HttpGet
HttpGet get = new HttpGet(path);
try {
//
HttpResponse response = client.execute(get);
// 通过 response 对象 获取 状态行 ,通过 状态行 获取 状态吗
if(response.getStatusLine().getStatusCode() == 200){
// 获取 返回的实体 获取实体内容
InputStream inputStream = response.getEntity().getContent();
String result = StringUtils.inputStreamToString(inputStream);
System.out.println("result = " + result);
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* httpclient post 请求数据
* @param path 请求路径 接口地址
* @param map 请求参数
*/
public void httpClientPost(String path , Map map){
//创建 HttpClient 对象
HttpClient client = new DefaultHttpClient();
//创建 HttpPost 对象 采用post方法请求
HttpPost post = new HttpPost(path) ;
//传递 参数
List<BasicNameValuePair> list = new ArrayList<BasicNameValuePair>();
Set<String> set = map.keySet() ;
for(String key : set){
list.add(new BasicNameValuePair(key,map.get(key).toString()));
}
try {
post.setEntity(new UrlEncodedFormEntity(list));
HttpResponse response = client.execute(post) ;
if(response.getStatusLine().getStatusCode() == 200){
InputStream inputStream = response.getEntity().getContent();
String result = StringUtils.inputStreamToString(inputStream);
System.out.println("result = " + result);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}