Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检测浏览器与PHP软件_Java_Php_Url_Browser - Fatal编程技术网

Java 检测浏览器与PHP软件

Java 检测浏览器与PHP软件,java,php,url,browser,Java,Php,Url,Browser,所以。我正在访问一个PHP页面,并使用Java URL()对象从中读取一些数据。我想知道是否有人可以告诉我如何使用PHP检查查看页面的人是从Java应用程序还是从真正的web浏览器访问页面(如果他们使用web浏览器,我不希望他们看到数据) 我当前的Java代码是: try{ URL url = new URL("http://www.mysite.com/myurl.php"); Scanner s = new Scanner(url.openStream

所以。我正在访问一个PHP页面,并使用Java URL()对象从中读取一些数据。我想知道是否有人可以告诉我如何使用PHP检查查看页面的人是从Java应用程序还是从真正的web浏览器访问页面(如果他们使用web浏览器,我不希望他们看到数据)

我当前的Java代码是:

    try{
        URL url = new URL("http://www.mysite.com/myurl.php");
        Scanner s = new Scanner(url.openStream());
        while(s.hasNext()){
            String auths = s.next();
            String real = "test";
            if(auths.equalsIgnoreCase(real)){
                return true;
            }else{
                return false;
            }
        }
        return false;
    }catch(Exception e){
        return false;
    }
我位于“”的PHP文件包含以下代码:

<?php echo "test"; ?>


问题是,我只希望PHP文件输出“测试”,如果它是从Java应用程序访问的。有人能帮我吗?。。谢谢

对于您试图做的事情,没有万无一失的解决方案。


话虽如此,您可以使用或
$\u服务器['HTTP\u USER\u AGENT']
来读取
用户代理
请求头。

对于您尝试执行的操作,没有万无一失的解决方案。


话虽如此,您可以使用或
$\u服务器['HTTP\u USER\u AGENT']
来读取
用户代理
请求头。

没有权威的方法可以这样做,好吗。Web浏览器通常在其用户代理字符串中发送指示,但这很容易被伪造,因为它只是一个HTTP头。我想我想说的是,您编写的Java代码可能不会“看起来”像来自web浏览器,但可以通过向请求中添加适当的头等来轻松地进行修改。Web浏览器通常在其用户代理字符串中发送指示,但这很容易被伪造,因为它只是一个HTTP头。我想我想说的是,您编写的Java代码可能不会“看起来”像来自web浏览器,但是可以通过向请求中添加适当的头等来轻松修改它。