【问题标题】:Where is the echo command for a HTTP request?HTTP 请求的 echo 命令在哪里?
【发布时间】:2020-04-03 02:09:29
【问题描述】:

我可能在这里问错了问题,但我似乎无法弄清楚这是从哪里出现的。我同时使用 HTTP Request2 和 NET URL2 库来向 Vuforia Web 服务发送一些 GET 请求。这一切都很好,但每次我发送请求时,它也会在屏幕上显示所述请求。

GET d41d8cd98f00b204e9800998ecf8427e Mon, 09 Dec 2019 22:49:52 GMT /summary/ba2246f8cd29466899c69b8d05af09a1

我用来在屏幕上显示上述文本的代码如下。 主要代码:

<?php if(sizeof($items) > 0){
    foreach($items as $item){
        echo '<tr>';
        echo'<td>'.$item['itemid'].'</td>';
        echo'<td>'.$item['name'].'</td>';
        echo'<td>'.$item['surname'].'</td>';
        echo'<td>'.$item['phone'].'</td>';
        $recos = $targetdata = json_decode(CheckVuforiaTarget("ba2246f8cd29466899c69b8d05af09a1"), true);
        echo'<td>'.$recos['current_month_recos'].'</td>';
        }
    } else echo '<tr><td>Geen kandidaten</td></tr>';?>

包含 CheckVuforiaTarget 函数的脚本:

function CheckVuforiaTarget($vuforiaid){
        $vuforiaTargetTracker = new TargetTracker($vuforiaid);
        $response = $vuforiaTargetTracker->TargetTracker();
        return ($response);
        //print_r($vuforiaResult);
    }

TargetTracker 类:

<?php

require_once 'HTTP/Request2.php';
require_once 'SignatureBuilder.php';

// See the Vuforia Web Services Developer API Specification - https://developer.vuforia.com/resources/dev-guide/retrieving-target-cloud-database
// The DeleteTarget sample demonstrates how to delete a target from its Cloud Database using the target's target id.
// * note that targets cannot be 'Processing' and must be inactive to be deleted.

class TargetTracker{

    //Server Keys
    private $access_key     = "...";
    private $secret_key     = "...";

    private $url            = "https://vws.vuforia.com";
    private $requestPath    = "/summary/";
    private $request;

    private $targetId       = "";

    public function __construct($targetId) {
        $this->targetId = $targetId;
    }

    function TargetTracker(){
        $this->requestPath = $this->requestPath . $this->targetId;      
        return $this->execTargetTracker();
    }

    public function execTargetTracker(){

        $this->request = new HTTP_Request2();
        $this->request->setMethod( HTTP_Request2::METHOD_GET );     
        $this->request->setConfig(array('ssl_verify_peer' => false));

        $this->request->setURL( $this->url . $this->requestPath );
        $this->setHeaders();

        try {

            $response = $this->request->send();

            if (200 == $response->getStatus()) {
                return $response->getBody();
            } else {
                //echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
                //      $response->getReasonPhrase(). ' ' . $response->getBody();
                return $response->getBody();
            }
        } catch (HTTP_Request2_Exception $e) {
            return $e->getMessage();
        }
    }

    private function setHeaders(){
        $sb =   new SignatureBuilder();
        $date = new DateTime("now", new DateTimeZone("GMT"));

        // Define the Date field using the proper GMT format
        $this->request->setHeader('Date', $date->format("D, d M Y H:i:s") . " GMT" );
        // Generate the Auth field value by concatenating the public server access key w/ the private query signature for this request
        $this->request->setHeader("Authorization" , "VWS " . $this->access_key . ":" . $sb->tmsSignature( $this->request , $this->secret_key ));

    }
}

?>

HTTP/Request2.php(以及它附带的所有内容)和 SignatureBuilder.php 都是我从互联网上下载的默认脚本/类,没有更改它们。

现在有了我对 PHP 的基本了解,我试图找到任何与回显相关的内容或任何可以在屏幕上显示的命令,但我似乎找不到。

有人给我一些指示,以便我找出来源吗? 提前致谢!

【问题讨论】:

  • 请查看原帖

标签: php http pear


【解决方案1】:

您提供的代码没有可以解释您看到的消息的回显/打印输出。 echo/print 语句必须在其他地方。

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-21
    • 1970-01-01
    • 2013-02-25
    相关资源
    最近更新 更多