android获取网页源码问题

问题描述

android获取网页源码问题
以下是我从网上找的获取网页源码的 代码 所有包都已经正常导入 但是编译后 程序一运行就崩溃 求大神指点
import 略;

/**

  • @author Jasonzhou
  • @since 2013-03-21
  • @功能 读取网页内容
  • @说明 获取网页的全部代码后使用jsuop进行处理, 以便得到想要的内容**/

public class MainActivity extends Activity {

public String url = ""http://blog.csdn.net/jasonzhou613/article/details/7905388"";@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    manageException();// 处理抛出异常    TextView tv = (TextView) findViewById(R.id.text);    String myString = null;    myString = posturl(url);    // 设置屏幕显示     Log.i(""---网页代码---""" + myString);    String html = myString;    Document doc = Jsoup.parse(html);    tv.setText(doc.title());}/** * 获取参数指定的网页代码,将其返回给调用者,由调用者对其解析 返回String */public String posturl(String url) {    InputStream is = null;    String result = """";    try {        HttpClient httpclient = new DefaultHttpClient();        HttpPost httppost = new HttpPost(url);        HttpResponse response = httpclient.execute(httppost);        HttpEntity entity = response.getEntity();        is = entity.getContent();    } catch (Exception e) {        return ""Fail to establish http connection!"" + e.toString();    }    try {        BufferedReader reader = new BufferedReader(new InputStreamReader(                isutf-8""));        StringBuilder sb = new StringBuilder();        String line = null;        while ((line = reader.readLine()) != null) {            sb.append(line + ""n"");        }        is.close();        result = sb.toString();    } catch (Exception e) {        return ""Fail to convert net stream!"";    }    return result;}public void manageException() {    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()            .detectDiskReads().detectDiskWrites().detectNetwork() // or                                                                    // .detectAll()                                                                    // for                                                                    // all                                                                    // detectable                                                                    // problems            .penaltyLog().build());    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()            .detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath()            .build());}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {    getMenuInflater().inflate(R.menu.activity_main menu);    return true;}

}

解决方案

第一:进行耗时任务需要另外开启线程。你过去网页代码需要开线程获取数据后交给handler来处理,或者直接转给主线程。
第二:httpclient进行数据传输的方式已经被废弃了,要用url.openconnect方法博客里有。

解决方案二:
主线程不能进行耗时操作的 网络请求当然算 推荐看看github上的开源框架 XUtils

解决方案三:
你的把报错信息贴出来 才能更快的找到问题

时间: 2024-10-31 09:29:45

android获取网页源码问题的相关文章

技术-用jsoup抓取网页获取网页源码的时候,得到的源码和在网站上面点击右键查看源码不相同,怎么解决

问题描述 用jsoup抓取网页获取网页源码的时候,得到的源码和在网站上面点击右键查看源码不相同,怎么解决 用jsoup抓取网页获取网页源码的时候,得到的源码和在网站上面点击右键查看源码不相同,怎么解决 Document doc = Jsoup.parse(new URL(url), 5000); 解决方案 一部分html是ajax异步加载的,你得用fiddler调试,得到这些请求,照着写 解决方案二: C++ 抓取网页的源码获取网页的源码获取网页源码工具类

HttpURLConnection获取网页源码 网址太长不能正确获取数据

问题描述 HttpURLConnection获取网页源码 网址太长不能正确获取数据 我用HttpURLConnection获取网页源码 当网址比较长的时候就无法正确连接到网页是怎么回事? 代码如下: private String getURLResponse(String urlString){ HttpURLConnection conn = null; //连接对象 InputStream is = null; String resultData = ""; try { URL u

utf-8-WinHttpRequst获取网页源码乱码

问题描述 WinHttpRequst获取网页源码乱码 返回的网页编码是utf-8的,我这样转显示乱码,应该怎么做 CString strRetData; _variant_t varRspBody = pHttpReq->GetResponseBody(); char *pContentBuffer = (char *)varRspBody.parray->pvData; strRetData = pContentBuffer; 解决方案 获取网页源码c# 获取网页源码C#获取网页源码 解决方

ie源码-VB获取网页源码,高手指导!

问题描述 VB获取网页源码,高手指导! Private Sub Command4_Click() ' On Error Resume Next Dim baiIE As Object For Each baiIE In dWinFolder If InStr(1, baiIE.FullName, "", vbTextCompare) <> 0 Then If InStr(1, baiIE.LocationURL, "www.taobao.com", vb

IHTMLDocument2获取网页源码时总是弹出安全警告

问题描述 .net中当获取网页源码时总是提出安全警告,代码如下:publicstaticstringGetDynamicHtmlFromUrl(stringsinaUrl,Encodingencoding){mshtml.HTMLDocumenthtmldoc=newmshtml.HTMLDocument();mshtml.IHTMLDocument2htmldoc2;mshtml.IHTMLDocument3htmldoc3;IPersistStreamInitips=(IPersistStr

Android: 在WebView中获取网页源码

1. 使能javascript:  ? 1 webView.getSettings().setJavaScriptEnabled(true); 2. 编写本地接口 ? 1 2 3 4 5 final class InJavaScriptLocalObj {     public void showSource(String html) {         Log.d("HTML", html);     } } 3. 向网页暴露本地接口 ? 1 webView.addJavascrip

webview可以获取网页源码,进行重新排版吗

 private void getHtml_data(String Url, int FontSize) {                 String text = "";                try {                        URL url = new URL(Url);                        URLConnection conn;                         conn = url.openConnec

java 获取网页源码(包括js动态生成的)

问题描述 不知道那位大侠做过类似的东西,我现在就想做一个能够对网页源码解析的一个小工具,可是我试了很多种方式都不行;都说HtmlUnit这个可以加载Js生成的数据,可是我用了还是不行,HttpClient这个只能得到静态生成的网页源码.各位高手给个案例,谢谢! 解决方案 解决方案二:js动态生成的代码需要分析理解函数调用产生的结果代码(一部分是猜).解决方案三:jsoup可能会实现吧解决方案四:jsoup也不行,就是不知道如何模拟网页执行后的过程解决方案五:如果确实需要那就自己模拟个浏览器吧.解

java获取网页源码的问题

问题描述 我用java获取到网页的源代码,url为www.google.com/#q=测试这个链接在浏览器中正常解析为简体,即浏览器中的html源码为UTf-8格式,而我用java程序抓下来的html却为big5格式的,不知道这是为什么,求大神解答,谢谢!!! 解决方案 解决方案二:你的java编码是big5的吧