Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用http请求获取页面_Java_Android_Jsoup - Fatal编程技术网

Java 无法使用http请求获取页面

Java 无法使用http请求获取页面,java,android,jsoup,Java,Android,Jsoup,这是代码,必须加载页面并将其存储在string[]中。我不理解这个问题,因为它没有加载页面,而且没有抛出错误 如果有人知道任何更好的发送http请求的方法,请发布它或告诉我问题所在 //some code btnShowLocation.setOnClickListener(new View.OnClickListener() { int j=0; @Override public

这是代码,必须加载页面并将其存储在
string[]
中。我不理解这个问题,因为它没有加载页面,而且没有抛出错误

如果有人知道任何更好的发送http请求的方法,请发布它或告诉我问题所在

 //some code    
    btnShowLocation.setOnClickListener(new View.OnClickListener() {
                int j=0;
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub

                    new MyTask().execute();});     
    //some code

    private class MyTask extends AsyncTask<Void, Void, Void> {
                    @Override
                    protected Void doInBackground(Void... params) {
                        // TODO Auto-generated method stub

                        try {

                            String ssr="";
                            URL n = new URL("http://maps.google.co.in/maps?hl=en&q=nagpur+to+pune");
                            URLConnection nc = null;
                            nc = n.openConnection();
                            BufferedReader in = null;
                            in = new BufferedReader(new InputStreamReader(nc.getInputStream()));
                            String inputLine;
                            while ((inputLine = in.readLine()) != null) {
                                ssr+=inputLine;
                            }

                            Document doc = Jsoup.parse(ssr);
                            Elements el = doc.getElementsByClass("dir-mrgnr");
                            String str = el.text();
                            str = str.replaceAll("[0-9]+[.] ", "\n");
                            string = str.split("\n");
                        } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }

                        return null;
                    }

                    @Override
                    protected void onProgressUpdate(Void... values) {
                        // TODO Auto-generated method stub
                        super.onProgressUpdate(values);
                        Toast.makeText(
                                getApplicationContext(),
                                "in Background",
                                Toast.LENGTH_LONG).show();
                        speakOut("not Working");
                        //speakOut("work in progress");
                    }

                    @Override
                    protected void onPostExecute(Void result) {
                        // TODO Auto-generated method stub

                        super.onPostExecute(result);

                    }

                }
//一些代码
btnShowLocation.setOnClickListener(新视图.OnClickListener(){
int j=0;
@凌驾
公共void onClick(视图v){
//TODO自动生成的方法存根
新建MyTask().execute();});
//一些代码
私有类MyTask扩展了AsyncTask{
@凌驾
受保护的Void doInBackground(Void…参数){
//TODO自动生成的方法存根
试一试{
字符串ssr=“”;
URL n=新的URL(“http://maps.google.co.in/maps?hl=en&q=nagpur+对"浦那",;
URLConnection nc=null;
nc=n.openConnection();
BufferedReader in=null;
in=新的BufferedReader(新的InputStreamReader(nc.getInputStream());
字符串输入线;
而((inputLine=in.readLine())!=null){
ssr+=输入线;
}
文档doc=Jsoup.parse(ssr);
Elements el=doc.getElementsByClass(“dir mrgnr”);
String str=el.text();
str=str.replaceAll(“[0-9]+[.]”,“\n”);
string=str.split(“\n”);
}捕获(IOE异常){
//TODO自动生成的捕捉块
e、 printStackTrace();
}
返回null;
}
@凌驾
受保护的void onProgressUpdate(void…值){
//TODO自动生成的方法存根
super.onProgressUpdate(值);
Toast.makeText(
getApplicationContext(),
“背景中”,
Toast.LENGTH_LONG).show();
说话(“不工作”);
//讲话(“正在进行的工作”);
}
@凌驾
受保护的void onPostExecute(void结果){
//TODO自动生成的方法存根
super.onPostExecute(结果);
}
}

您不需要下载页面并对其进行解析

List<String> list = new ArrayList<>(); // Better than an array

Document doc = Jsoup.connect("http://maps.google.co.in/maps?hl=en&q=nagpur+to+pune").get(); // Connect to url and parse its conntent
Elements el = doc.select("*.dir-mrgnr"); // Every tag with 'dir-mrgnr' class - or use getElementsByClass() as you did

for( Element element : el )
{
    list.add(element.text());
}
List List=new ArrayList();//比数组更好
Document doc=Jsoup.connect(“http://maps.google.co.in/maps?hl=en&q=nagpur+to+pune”).get();//连接到url并解析其连接内容
Elements el=doc.select(“*.dir mrgnr”);//每个带有'dir mrgnr'类的标记-或者像您那样使用getElementsByClass()
用于(元素:el)
{
list.add(element.text());
}

顺便说一句,不要使用;使用
StringBuilder
instdead!

我猜这只是一个输入错误,但是什么是
yahoo.openConnection()
?应该是
n.openConnection()
。不,这不是问题……新代码不起作用。。。。。