【问题标题】:Why I can't connect to the url?为什么我无法连接到网址?
【发布时间】:2017-01-27 11:42:44
【问题描述】:
String log_url = "http://192.168.1.11/Rep/logini.php";

URL url = new URL(log_url);

HttpURLConnection connection =(HttpURLConnection)url.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
connection.setDoInput(true);
connection.connect();
OutputStream outputStream = connection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
String post_data = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(nam, "UTF-8") + "&" + 
    URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode(loc, "UTF-8");
bufferedWriter.write(post_data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
connection.disconnect();

执行此代码时,我无法连接到此行中的url.Disconnecting OutputStream outputStream = connection.getOutputStream();

控制台中的消息如下:

handlePacket:cmd=0x1,cmdSet=0xC7,len=0x14,id=0x400024DF, 标志=0x0,dataLen=0x9 01-27 16:59:55.848 12282-12289/com.example.focture.medicalrep D/jdwp:sendBufferedRequest : len=0x34

【问题讨论】:

  • 您是否在 Manifest 中启用了 Internet 权限?
  • 你的手机和服务器是否连接到同一个网络?
  • 是的,我已启用 Internet 权限
  • @KarthikCP 是的,我的手机和 ame 网络中的服务器
  • 手机和电脑都连接到你的wifi了吗?

标签: php android url


【解决方案1】:

看起来您正在尝试连接到您自己...

如果这是你的 ip 192.168.1.11 那么使用 localhost 代替

String log_url = "http://localhost/Rep/logini.php"; 

【讨论】:

  • 我试图从我的手机连接到服务器的url。所以我给了IP
【解决方案2】:

检查一下

String post_data = URLEncoder.encode("name", "UTF-8") + "=" + URLEncoder.encode(nam, "UTF-8") + "&" + 
    URLEncoder.encode("username", "UTF-8") + "=" + URLEncoder.encode(loc, "UTF-8");
    URL obj = new URL("http://192.168.1.11/Rep/logini.php");
    HttpURLConnection con = (HttpURLConnection) obj.openConnection();
    con.setRequestMethod("POST");
    con.setDoOutput(true);
    OutputStream os = con.getOutputStream();
    os.write(post_data.getBytes());
    os.flush();
    os.close();
    int responseCode = con.getResponseCode();
    System.out.println("POST Response Code :: " + responseCode);

    if (responseCode == HttpURLConnection.HTTP_OK) { //success
        BufferedReader in = new BufferedReader(new InputStreamReader(
                con.getInputStream()));
        String inputLine;
        StringBuffer response = new StringBuffer();

        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();

        // print result
        System.out.println(response.toString());
    } else {
        System.out.println("POST request not worked");
    }

【讨论】:

  • 行“os.write(post_data);”中的错误再次显示应用程序正在运行并在控制台消息“D/jdwp:sendBufferedRequest:len=0x34 D/jdwp:processIncoming D/jdwp:handlePacket:cmd=0x1,cmdSet=0xC7,len=0x14,id=0x40003336,flags=0x0 , dataLen=0x9 D/jdwp: sendBufferedRequest: len=0x34 D/jdwp: processIncoming D/jdwp: handlePacket: cmd=0x1, cmdSet=0xC7, len=0x14, id=0x40003337, flags=0x0, dataLen=0x9 D/jdwp : sendBufferedRequest : len=0x34 D/jdwp: processIncoming"
  • @jibin : 更新了.. 再试一次
  • 试过了,但在这一行“OutputStream os = con.getOutputStream();”中,它显示应用程序正在运行并且控制台中的相同消息很多
猜你喜欢
  • 1970-01-01
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 2017-06-06
  • 2021-01-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多