为啥我得到 java.net.MalformedURLException: no protocol?

Posted

技术标签:

【中文标题】为啥我得到 java.net.MalformedURLException: no protocol?【英文标题】:why am i getting java.net.MalformedURLException: no protocol?为什么我得到 java.net.MalformedURLException: no protocol? 【发布时间】:2013-10-16 05:07:06 【问题描述】:

我托管的网站是 000webhost.com

这是在控制台中的错误,

 java.net.MalformedURLException: no protocol: OxidePKz.net63.net/checkvote.php?   username=oxide
 at java.net.URL.<init>(Unknown Source)
 at java.net.URL.<init>(Unknown Source)
 at java.net.URL.<init>(Unknown Source)

这是我的检查投票页面代码

   <?php
$con = mysql_connect("mysql1.000webhost.com", "a5999082_oxidepk", "(put in right passcode)");
if (!$con) 
    die("Could not connect to database: " . mysql_error());

mysql_select_db("DATABASE_NAME", $con);
$username = mysql_escape_string($_GET['username']);
if (isset($_GET['username'])) 
    $result = mysql_query("SELECT * FROM `votes` where username = '$username'") or die(mysql_error());
    $row = mysql_fetch_array($result);
    if($row['username'] == $username) 
        mysql_query("DELETE FROM `votes` where username = '$username'");
        echo "true";
     else 
        echo "false";
    

我用表名 votes 做了一个我的管理员 php 这是回调页面

    $rspscoding = gethostbyname("http://www.oxidepkz.net63.net");
    if($_SERVER['REMOTE_ADDR'] == $rspscoding) 
        $con = mysql_connect("mysql1.000webhost.com", "a5999082_oxidepk", "(put in right passcode)");
        if (!$con) 
            die("Could not connect to database: " . mysql_error());
        
        mysql_select_db("DATABASE_NAME", $con);
        $username = mysql_escape_string($_GET['username']);
        if (isset($_GET['username'])) 
            mysql_query("INSERT INTO `votes` (username) VALUES ('$username')") or die(mysql_error());  
        
        mysql_close($con);

【问题讨论】:

sql 注入 mysql_ 函数在同一代码中...哎哟 你需要放一个协议;尝试将http:// 放在 URL 之前。 哪里......请更具体...... 【参考方案1】:

一些事情;

    我想知道您为什么要从 php 应用程序返回 java 异常 下一个 gethostbyname("http://www.oxidepkz.net63.vote.html") 不采用 URL,它采用像“www.oxidepkz.net63.com”这样的主机名,例如:http://php.net/manual/en/function.gethostbyname.php 最后,您的 URL 格式错误,因为域名后没有结束斜杠。 “http://www.oxidepkz.net63.vote.html”在任何浏览器中都不起作用 也许它被截断了?

【讨论】:

奇怪的是,我在该代码中看不到任何调用您的脚本 url 的内容。仅通过访问 url 就可以工作吗?您从中读取错误的控制台是主机提供的某些工具吗?它可能会抛出一个不相关的错误,因为它正在运行 java。因为该错误的意思是某些东西试图在没有协议的 Java 中创建一个 url 对象(即没有 http://ftp:// 等)。 感谢您的帮助,我发现它在我的代码中,而不是 php 或 html 以供将来参考, 啊,很高兴你找到它 :)

以上是关于为啥我得到 java.net.MalformedURLException: no protocol?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我得到一个 nullPointerException? [复制]

为啥我没有得到任何回应

为啥我得到黑色纹理?

为啥我得到分段(核心转储)?

为啥我得到 getApplicationcontext() null?

为啥我不能从数组中得到正确的日期?