import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import com.hgz.test.httpclientget.utils.StreamTools;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import java.io.IOException;
import java.io.InputStream;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btnHttpClientGet = (Button) findViewById(R.id.btnHttpClientGet);
btnHttpClientGet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getFoodData();
}
});
}
/**
* 使用HttpClient这个api请求网络数据
* 请求方式:GET
* android 6.0以后,google不再推介使用这种方式,推介HttpURLConnection
*/
private void getFoodData() {
new Thread() {
@Override
public void run() {
super.run();
try {
//1.打开浏览器
HttpClient httpClient = new DefaultHttpClient();
//2.填下地址
HttpGet httpGet = new HttpGet(“http://apis.juhe.cn/cook/query.php?menu=秘制红烧肉&key=1fe0aebec3396c977560e16f14613413”);
//3.敲回车
HttpResponse response = httpClient.execute(httpGet);
//4.等待服务器响应,获得响应状态码
int code = response.getStatusLine().getStatusCode();
//HttpStatus.SC_OK)=200
if (code == HttpStatus.SC_OK) {
//5.获取服务器响应的内容
InputStream is = response.getEntity().getContent();
//使用utils工具类
String json = StreamTools.getFood(is);
System.out.println(json.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}.start();
}
}
//Utils工具类
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class StreamTools {
public static String getFood(InputStream is){
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer=new byte[1004];
int len=0;
while((len=is.read(buffer))!=-1){
baos.write(buffer,0,len);
}
is.close();
baos.close();
return baos.toString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
今天的文章http与https_getconnection「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/78276.html