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

如何像人类一样模拟单击Redrect

马峻
2023-03-14

我正在做一个项目,由于缺乏知识而受阻。代码是有效的,但我不知道3号网站是否认为它是被人点击的。

让我解释一下:

我一共有3个网站。

当点击按钮时,网站1重定向到网站2。

网站2检查推荐人是否来自网站1,并自动重定向到网站3。

我需要重定向(网站2-

迄今为止的代码:

if (isset($_SERVER['HTTP_REFERER'])) {
    $url_info = parse_url($_SERVER['HTTP_REFERER']);
    $countCharacter = substr_count($url_info['host'], '.');
    if($countCharacter == 2){
        $eldominio = explode(".", $url_info['host']);
        $elhost = $eldominio[1];
    }else if($countCharacter == 1){
        $eldominio = explode(".", $url_info['host']);
        $elhost = $eldominio[0];
    }

    //if referrer contain $elhost
    if($elhost == 'website1' || $elhost == 'website2'){
        $tieneHostaff = "yes";
    }else{//no host}

}else{//not exist refferrer}

session_start();
if($tieneHostaff=="yes" && isset($_GET['q']) && !empty($_GET['q'])){
    //Create sessions and delete actual referrer
    $_SESSION['nombre'] = "y";
    $_SESSION['producto'] = $_GET['q'];
    echo "<script>window.location.reload(true);</script>";
    exit();
}

if($_SESSION['nombre'] == "y"){
// Destroy session and redirect to website 3
    session_unset();
    echo "<script>window.location.href = 'https://website3.com/".$_SESSION['producto']."'</script>";
    exit();
}

我需要的最后一部分,使重定向(网站2)-

if($_SESSION['nombre'] == "y"){
// Destroy session and redirect to website 3
    session_unset();
    echo "<script>window.location.href = 'https://website3.com/".$_SESSION['producto']."'</script>";
    exit();
}

网站3检查裁判和所有的东西,发现这是一个人点击

共有1个答案

沈高峻
2023-03-14

理论上,您可以在处理它的元素上发出单击事件,但这可能是您在不使用任何外部自动测试工具的情况下所能获得的最接近的单击事件。PHP在服务器端执行,而JavaScript在客户端执行,所以实际上看起来像是客户端的浏览器触发了触发器,而不是应用程序触发了触发器。

<script>
    let elementYouWantToClick = document.getElementById('whatever-the-id-is');
    elementYouWantToClick.click();
</script>
 类似资料:
  • 问题内容: 我知道这种方法。但是,我想知道如何模拟事件。 我在堆栈溢出的某个地方找到了此代码,但我不知道如何使用它:( 如何使用JavaScript触发鼠标单击事件? 问题答案: (修改后的版本使之无需prototype.js即可工作) 您可以像这样使用它: 请注意,作为第三个参数,您可以传入’options’。您未指定的选项取自defaultOptions(请参见脚本底部)。因此,例如,如果您想

  • 在我的新工作中,我必须使用PhpStorm。我来自Sublime Text,PhpStorm最困扰我的是缺少文件的单击预览。相反,它打开文件进行编辑,并将它们添加到活动标签,留给我许多无用的标签。 我在StackOverflow和Google上搜索了这里,但我似乎是唯一一个对此感到恼火的人。在Sublime中,只有双击后才能进入编辑模式。有没有像Sublime中那样的设置或插件?

  • 我设置了一个JPopupMenu,它将显示用户是否右键单击JList中的某个单元格,但现在必须先选择该单元格,才能显示JPopupMenu。我想知道如何在右键单击后选择该单元格,然后像现在一样显示JPopupMenu。当没有选择任何项目并且鼠标不在列表中的任何项目上时,我也会显示一个菜单。 代码:

  • 问题内容: 我需要测试一个函数,该函数需要使用urllib.urlopen(它也使用urllib.urlencode)来查询外部服务器上的页面。服务器可能已关闭,页面可能已更改;我不能依靠它进行测试。 控制urllib.urlopen返回的最佳方法是什么? 问题答案: 另一个简单的方法是让您的测试覆盖urllib的功能。例如,如果您的模块具有 您可以这样定义测试: 然后,当您的测试调用中的函数时,

  • 我正在尝试easyMock测试几个类/接口方法。方法,试图捕获参数,但得到一个或另一个错误。如果我只记录了一个期望值,它甚至不会捕获参数管道中的任何内容,如果我使用以下方法,我会得到如下错误代码。 结果是错误的 testFireChannelInitializer(com.obolus.generic.impl.DefaultChannelListenerTest)运行时间:3.812秒 你知道怎

  • 问题内容: 我正在将selenium-webdriver用于nodejs。 如何使用此驱动程序模拟右键单击?我在官方文档中找不到。 问题答案: 谢谢,糟糕。你帮我找到解决方案。 答案(在此处找到):