使用HttpClient请求一个网页

 1 package com.exp.httpdemo;
 2
 3 import java.io.InputStream;
 4
 5 import org.apache.http.HttpEntity;
 6 import org.apache.http.HttpResponse;
 7 import org.apache.http.client.HttpClient;
 8 import org.apache.http.client.methods.HttpGet;
 9 import org.apache.http.impl.client.DefaultHttpClient;
10 import org.apache.http.util.EntityUtils;
11
12 import android.os.Bundle;
13 import android.os.Handler;
14 import android.app.Activity;
15 import android.view.Menu;
16 import android.view.View;
17 import android.widget.TextView;
18
19 /**
20  * 使用HttpClient请求一个网页
21  *
22  */
23 public class MainActivity extends Activity {
24     TextView tvResult;
25     String url="http://www.baidu.com";
26     Handler handler = new Handler();
27     @Override
28     protected void onCreate(Bundle savedInstanceState) {
29         super.onCreate(savedInstanceState);
30         setContentView(R.layout.activity_main);
31
32         tvResult=(TextView)findViewById(R.id.textView1);
33     }
34
35     public void ClickButton(View view){
36         new Thread(new Runnable() {
37
38             @Override
39             public void run() {
40                 // 获取HttpClient对象
41                 HttpClient httpClient = new DefaultHttpClient();
42                 // 获取HttpGet对象
43                 HttpGet requestGet = new HttpGet(url);
44                 try {
45                     // 获取响应结果
46                     HttpResponse httpResponse = httpClient.execute(requestGet);
47                     if (httpResponse.getStatusLine().getStatusCode() == 200) {
48                         // 从响应中取出实体类
49                         HttpEntity httpEntity = httpResponse.getEntity();
50                         final String result=EntityUtils.toString(httpEntity);
51                         // 如果想通过IO流来读写可以使用getContent方法获取
52                         //InputStream in = httpEntity.getContent();
53                         handler.post(new Runnable() {
54
55                             @Override
56                             public void run() {
57                                 tvResult.setText(result);
58                             }
59                         });
60                     }
61                 } catch (Exception e) {
62                     e.printStackTrace();
63
64                 }
65             }
66         }).start();
67
68
69     }
70     @Override
71     public boolean onCreateOptionsMenu(Menu menu) {
72         // Inflate the menu; this adds items to the action bar if it is present.
73         getMenuInflater().inflate(R.menu.main, menu);
74         return true;
75     }
76
77 }
时间: 2024-10-15 04:55:25

使用HttpClient请求一个网页的相关文章

.Net Core 3.0后台使用httpclient请求网络网页和图片_使用Core3.0做一个简单的代理服务器

原文:.Net Core 3.0后台使用httpclient请求网络网页和图片_使用Core3.0做一个简单的代理服务器 目标:使用.net core最新的3.0版本,借助httpclient和本机的host域名代理,实现网络请求转发和内容获取,最终显示到目标客户端! 背景:本人在core领域是个新手,对core的使用不多,因此在实现的过程中遇到了很多坑,在这边博客中,逐一介绍下.下面进入正文 正文: 1-启用httpClient注入: 参考文档:https://docs.microsoft.c

java如果去请求一个网页的数据

我们可以通过在java程序中模拟浏览器一样,把数据抓下来,具体方法是在java程序中set header和cookie,下面是一个例子: public class NetConnection { public static final int MAX_HOTWORDS_FILE_SIZE = 256 * 1024; public static void main(String[] args) { send("http://tuan.aibang.com/shenzhen/new_2033549.

[Java]使用HttpClient实现一个简单爬虫,抓取煎蛋妹子图

  第一篇文章,就从一个简单爬虫开始吧. 这只虫子的功能很简单,抓取到”煎蛋网xxoo”网页(http://jandan.net/ooxx/page-1537),解析出其中的妹子图,保存至本地. 先放结果: 从程序来讲,步骤分为三步: 1.发起一个http请求,获取返回的response内容: 2.解析内容,分离出有效图片的url: 3.根据这些图片的url,生成图片保存至本地. 开始详细说明: 准备工作:HttpClient的Jar包,访问http://hc.apache.org/   自行下

一个网页倒计时的实现

最近要做一个网站上的活动倒计时的功能.在网上搜了一下,网上关于js倒计时的代码倒是不少,但是正正可以应用到生产环境的则是少之又少. 比如我用到的这个就是这样的: var endDate=new Date(2014,7,25,23,59,59); var begin = new Date(); var intDiff=Math.round((endDate.getTime()-begin)/1000);//初始日期 function timer(intDiff){ window.setInterv

键入一个网页后了发生什么

面试中经常会被问到,键入一个网页后后发生什么?这是一个非常详细的帖子,http://blog.jobbole.com/84870/ 但是太详细了,如果吧啦吧啦把这些给面试官们说完,估计就到了吃午饭的时候,那么就来个精简版的吧. 1,输入网址,按下回车键.这时候回车键的键码13就会被发送给浏览器,之后浏览器开始执行相关程序. 2.解析URL:检查URL的HTTP协议,以及请求资源的主页,如果URL不合法可能会执行搜索引擎搜索. 3.DNS查询,通过本地的DNS缓存或是向DNS服务器发送请求来获取域

通过HttpClient请求webService

由于服务端是用webService开发的,android要调用webService服务获取数据,这里采用的是通过HttpClient发送post请求,获取webService数据. 服务端使用的webService框架是axis2,请求数据之前,要封装一个xml格式,再通过post请求,获取服务端数据. 请求的xml格式如下所示: 1 <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"xmlns:

简单讲讲访问一个网页的过程

今天我想梳理访问一个网页发生的故事. 1.首先,访问一个网页,就要输入该网页的地址,就是域名(如www.baidu.com) 2.通过输入的域名,进行DNS解析(域名解析)从而找出网页的ip地址(如192.168.1.1) 3.浏览器与该服务器通过三次握手协议建立连接(tcp协议),这里可以通过本机缓存的cookies状态信息,保持上一次连接状态 (网上找的图) 4.浏览器给服务器发送HTTP请求内容(HTTP协议) (随意抓一个包当例子) 这里就是前端需要向后台请求数据发送的报文 5.服务器返

一个网页从开始到最终显示的完整过程

一个网页从请求到最终显示的完整过程一般可分为如下7个步骤: 1.在浏览器中输入网址: 2.发送到DNS服务器并获得域名对应的web服务器的IP地址 3.与web服务器建立TCP连接: 4.浏览器向web服务器的IP地址发送相应的http请求: 5.web服务器相应请求并返回指定URL的数据,或错误信息,如果设定重定向,则 重定向到新的URL地址 6.浏览器下载数据后解析HTML源文件,解析的过程中实现对页面的排版,解析完成后再浏览器中显示基础页面 7.分析页面中的超链接并显示在当前页面,重复以上

【转】浅谈一个网页打开的全过程(涉及DNS、CDN、Nginx负载均衡等)

1.概要 从用户在浏览器输入域名开始,到web页面加载完毕,这是一个说复杂不复杂,说简单不简单的过程,下文暂且把这个过程称作网页加载过程.下面我将依靠自己的经验,总结一下整个过程.如有错漏,欢迎指正. 阅读本文需要读者已有一定的计算机知识,了解TCP.DNS等. 2.分析 众所周知,打开一个网页的过程中,浏览器会因页面上的css/js/image等静态资源会多次发起连接请求,所以我们暂且把这个网页加载过程分成两部分: html(jsp/php/aspx) 页面加载(假设存在简单的Nginx负载均