HTTP无法正常工作

时间:2016-01-28 22:04:13

标签: java android http-get

编辑:我非常抱歉一开始我问我的问题有多么糟糕,我非常沮丧和疲惫,但我知道这不是一个借口。无论如何,我编辑了它。我已经在StackOverflow论坛和其他论坛上看了很多,并尝试了他们的方法,没有结果,所以我想这不是一个真正重复的问题。

经过几个小时的尝试和使用几种方法,我终于放弃了,并决定在这里发布问题。令人沮丧的是,我无法让它工作,这是一个家庭自动化项目,学习C和python等新语言在这个项目上工作从来都不是问题所以不能让它工作是非常令人沮丧的。无论如何这里是代码:

public void buttonOnClick(View v) {
    Button button = (Button) v;
    ((Button) v).setText("clicked");
        // The request here
        // The request here
        // The request here
        // The request here

        }

这是一个带有一个按钮的简单应用程序,它应该向192.168.0.150/main_light/switch发送一个简单的http get请求。我知道这应该有用,因为我总是在Tasker中使用HTTP GET(这在Python中有效)。我真的希望有人可以帮助我,谢谢!

P.S。我知道这里有无用的动作,我是一个JAVA Noob并决定不乱用任何东西,直到我终于可以开始工作。

3 个答案:

答案 0 :(得分:0)

尝试使用http://square.github.io/okhttp/

将代码放在这里:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
    fab.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
           OkHttpClient client = new OkHttpClient();
           String run(String url) throws IOException {
           Request request = new Request.Builder()
               .url(url)
               .build();

           Response response = client.newCall(request).execute();
           return response.body().string();
        }
    }
});

答案 1 :(得分:0)

使用module.exports = function(Channels, app, auth, database) { var channel = require('../controllers/channels')(Channels); app.route('/channel') .get(channels.all) .post(auth.requiresLogin, channel.create); app.route('/channel/:channelId') .get(auth.isMongoId, channel.show) .put(auth.isMongoId, auth.requiresLogin, hasAuthorization, channel.update) .delete(auth.isMongoId, auth.requiresLogin, hasAuthorization, channel.destroy); 实现相同目标:

HttpURLConnection

希望这有帮助!

答案 2 :(得分:0)

使用此方法:

public static int get(String url) throws Exception {
    URL obj = new URL(url);
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("GET");
    int responseCode = con.getResponseCode();
    BufferedReader in = new BufferedReader(
        new InputStreamReader(con.getInputStream()));
    String inputLine;
    while ((inputLine = in.readLine()) != null) {
        //consume response if any;
    }
    in.close();
    return responseCode;
}

如果需要,实施请求的消费。