Laravel 桌面应用程序

Posted

技术标签:

【中文标题】Laravel 桌面应用程序【英文标题】:Laravel Desktop Application 【发布时间】:2021-12-16 03:06:02 【问题描述】:

我已经构建了 laravel 桌面应用程序,我正在使用 apis 从实时服务器获取数据,它工作得非常好,但是当我尝试使用 api 将数据从桌面应用程序上传到实时应用程序时,它不起作用并且甚至没有显示任何错误。当我运行与网络版本相同的代码时,它工作得很好 我使用 curl 将数据从 laravel 桌面应用程序上传到实时服务器数据库这是我的 curl

$fixtures = Matche::withTrashed()->get();
    $matchOfficials = MatchOfficial::all()->groupBy('match_id');
    $matchPlayers = MatchPlayer::all()->groupBy('match_id');
    $matchDetails = MatchDetail::all()->groupBy('match_id');
    $points = Points::all();
    $teamRankings = RankingPoints::all();
    $followReports = FollowReport::all();
    $topKeepers = TopKeeper::all();
    $topScorers = TopScorer::all();
    $url = 'https://asianhandball.info/symbargo/api/push-fixtures';
    $token = csrf_token();
    $postData = array(
        'fixtures' => $fixtures,
        'matchOfficials' => $matchOfficials,
        'matchPlayers' => $matchPlayers,
        'matchDetails' => $matchDetails,
        'points' => $points,
        'teamRankings' => $teamRankings,
        'followReports' => $followReports,
        'topKeepers' => $topKeepers,
        'topScorers' => $topScorers
    );
    // for sending data as json type
    $fields = json_encode($postData);
    $ch = curl_init($url);
    curl_setopt(
        $ch,
        CURLOPT_HTTPHEADER,
        array(
            'Content-Type: application/json', // if the content type is json
            'bearer: ' . $token // if you need token in header
        )
    );
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);

    $result = curl_exec($ch);
    curl_close($ch);
    return $result;

上述代码用于将数据从 laravel 桌面应用程序上传到实时服务器数据库。请指导我提前谢谢你

【问题讨论】:

我会检查服务器是否返回不成功的 HTTP 状态代码 它给我的只是“假”,但如果我在浏览器上运行相同的代码,它绝对可以正常工作 打开 php 和 Laravel 错误报告,并检查日志。上面的很多东西都可以返回上面的false,包括curl_initcurl_exec,请逐一检查。如果后者返回false,请在句柄上调用curl_error。而且,正如我上面设置的,检查返回的HTTP status code。 感谢它在我在答案中提到的 curl 中添加运行 【参考方案1】:

感谢它在添加时运行

 curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_VERBOSE, true);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);

【讨论】:

以上是关于Laravel 桌面应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 推送通知桌面(chrome 或 firefox)

用于Web应用的桌面管理面板

是否可以使用 Selenium WebDriver 来自动化桌面应用程序?

如何将我的移动视图放在容器流体中,将桌面站点放在容器中?

为啥使用 laravel vue 在桌面通知中出现错误“未捕获的 ReferenceError:Vue 未定义”?

laravel 可执行应用程序