连接服务器时出错

时间:2017-10-22 09:10:17

标签: android

我在cpanel上创建了一个数据库,然后我选择了一个名字并传递给它。 所以我在services.php中声明了“database”,“password”,“user name”,“localhost”。

Services.php:

  <?php
  if (isset($_REQUEST['action'])){
  $foo = $_REQUEST['action'];
  }else{
  echo "Invalid Data";
  exit;
  }

  /*************************************************/
 function connectToDatabase()
   {
    $servername ="localhost";
    $username = "us_utab";
    $password = "sk3%CkvH";
    $dbname = "us_utab";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
     $conn->set_charset("utf8");
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);

    } 
    return $conn;
    }

    /*************************************************/

   if ($foo == 'search')
   { search(); }

   if ($foo == 'read')
   { read();}

   if ($foo == 'insert')
   { insert();}

   .
   .
   .

我改变了我的Android代码。

HttpPost method = new HttpPost("http://192.168.1.2/test-website/services.php?action=read"); 

致:

HttpPost method = new HttpPost("https://utab.com:2083/services.php?
action=read");

这是对的吗?

在android地方不需要使用数据库名称,密码,用户名吗?

它没有连接到服务器。所以我删除了端口2083,我在下面遇到错误:

javax.net.ssl.SSLPeerUnverifiedException: No peer certificate

2 个答案:

答案 0 :(得分:0)

那么你的代码似乎是正确的,在这种情况下不是问题。

  

在android的地方不需要使用数据库名称,密码,用户名吗?

如果PHP文件已包含这些值,请不要这样做。

我们看到的实际错误是SSLPeerUnverifiedException,这意味着https://utab.com证书存在一些问题。所以你需要检查一下。还要检查设备的日期,是否正确?

答案 1 :(得分:0)

javax.net.ssl.SSLPeerUnverifiedException: No peer certificate

这意味着您正在尝试与不希望安全连接的http服务器建立安全的https连接。

$servername ="localhost";
$username = "us_utab";
$password = "sk3%CkvH";
$dbname = "us_utab";

这是services.php的唯一内容吗?如果是,则它缺少连接到数据库的所有代码,从http请求获取参数,可能进行一些数据库查询并返回一些响应。似乎只有一个论点是action=read,它不清楚它必须回应什么。

<强>更新

阅读完评论后,如果服务器可以从同一台计算机访问而不能从另一台计算机访问,那么就会出现IP路由问题,而不是编程问题。服务器上的计算机可能存在阻止传入连接的防火墙,或者其网络接口配置错误。

另外考虑到局域网内部无法从LAN计算机访问路由器连接到WAN的公共IP。要在局域网内进行测试,您必须使用专用LAN IP,例如192.168.1.2,而不是&#34; utab.com&#34;