当前位置: 首页 > 知识库问答 >
问题:

在android中向远程服务器传递get请求

宰父劲
2023-03-14

我正在尝试从android应用程序向远程服务器发送post请求。请求应在数据库的一列中插入值。服务器端的PHP代码如下:

 <?php 
$servername="sql9.freesqldatabase.com"; 
$username="sql9193859"; 
$password="MUEpGxKWUt"; 
$dbname="sql9193859"; 
$sms_content=$_GET["sms_content"]; 

$conn=new mysqli($servername,$username,$password,$dbname); 

// check connection 

if ($conn->connect_error){
    die("Connection failed: ".$conn->connect_error); 
}
else {
    echo "connected successfully"; 
    $sql="insert into SMS_TABLE(content) values ($sms_content)"; 
    if ($conn->query($sql)===true){
        echo "New record inserted successfully"; 
    }
    else {
        echo "Error:".$sql."<br>".$conn->error; 
    }
}

?>

向远程服务器发送get请求的方法如下:

public void insertSMS() throws IOException {
        viewbtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    URL url = new URL("https://smssaver.000webhostapp.com/helloworld/insert_data.php?sms_content=100");
                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                    urlConnection.disconnect();
                } catch (MalformedURLException e1) {
                    e1.printStackTrace();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        });


    }

当我在浏览器上键入链接时,它工作正常。但是,当我在Android中调用它时,它不起作用。

共有1个答案

聂溪叠
2023-03-14

打开连接

需要注意的是,URLConnection实例不会在创建时建立实际的网络连接。这只会在调用URLConnection.connect()时发生。

您需要调用urlConnection.connect()来执行您的调用

URL url = new URL("https://smssaver.000webhostapp.com/helloworld/insert_data.php?sms_content=100");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
// additional attributes for request for efficiency 
urlConnection.setReadTimeout(1000);
urlConnection.setConnectTimeout(1000);
urlConnection.setRequestMethod("GET");

urlConnection.connect();
 类似资料:
  • 在终端上,我得到了这个错误:$./asadmin start-domain domain1 找不到默认的域目录。此系统属性没有值:com.sun.aas.domainsroot命令启动-域失败。 在Eclipse上,我得到了这个运行时异常:在Felix平台上启动GlassFish 玻璃鱼4 拜托,你知道怎么解决这个问题吗?

  • 名为charles的工具中有一个功能,允许您映射远程请求: http://www.charlesproxy.com/documentation/tools/map-remote/ 基本上,它可以将任何请求发送到服务器(即使不是运行它的人),然后向另一台服务器发出新请求,保留路径和查询字符串。然后,来自第二台服务器的响应将覆盖来自第一台服务器的响应。 我只是想知道是否有一个节点模块可以做到这一点。我

  • Python 的标准库 urllib 提供了大部分 HTTP 功能,但使用起来较繁琐。通常,我们会使用另外一个优秀的第三方库:Requests,它的标语是:Requests: HTTP for Humans。 Requests 提供了很多功能特性,几乎涵盖了当今 Web 服务的需求,比如: 浏览器式的 SSL 验证 身份认证 Keep-Alive & 连接池 带持久 Cookie 的会话 流下载

  • 问题内容: 因此,我阅读了android AIDL文档,并对RPC在活动和服务之间的工作方式有一个大致的了解。但是,对于我的应用程序来说,实现这些功能似乎有些麻烦:基本上,我想向Service传递一个不错的处理程序,以便其线程可以将数据传递给Activity。目前,我正在通过使用静态公共成员(黑客)来解决此问题,但我更希望仅在服务的启动Intent中传递Handler对象。例如,我可以在创建时轻松

  • 问题内容: 我正在尝试使用jQuery在AJAX GET中传递请求标头。在下面的块中,“数据”自动传递查询字符串中的值。有没有办法在请求标头中传递该数据? 以下内容也不起作用 问题答案: 用途: http://api.jquery.com/jQuery.ajax/ http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader- method

  • 我在API中传递一个数组作为get请求的参数。我想把这个数组作为查询参数传递给HTTP请求者。 param1和param2通过流变量捕获,并与HTTP请求程序一起发送 对param3使用flow变量可以用其他内容覆盖中断