Unirest POST 请求不会 运行 在 PHP
Unirest POST request won't run in PHP
我有一段代码,几乎是最基本的代码,但出于某种原因,它只是拒绝 运行:
<?php
require_once "unirest/src/Unirest.php";
$photo_url = "http://api.animetrics.com/img/test/sc.jpg";
// These code snippets use an open-source library.
$response = Unirest::post("<--URL-->",
array(
"X-Mashape-Key" => "<--API Key-->",
"Content-Type" => "application/x-www-form-urlencoded",
"Accept" => "application/json"
),
array(
"selector" => "FACE, EYES, FULL",
"url" => "http://api.animetrics.com/img/test/sc.jpg"
)
);
echo $response;
?>
这个代码块是直接从mashape网站上截取的,我简单下载了Unirest文件。我也确定我的路径是正确的。
我调查了一下并尝试在 Unirest 文件中添加一个静态 class 函数来打印一些东西,不出所料,它没有用。
这是我添加的代码块:
<?php
namespace Unirest;
echo "in file";
$file = new File();
$file->printa("abc");
class File
{
public static function printa($a) {
echo $a;
}
....
在同一个文件中,$file->printa("abc");
工作得很好,但是当从不同的文件调用时,File::printa("abc");
或 Unirest::printa("abc");
或 File\Unirest::printa("abc");
只是拒绝 运行.
我不确定,但我对命名空间有什么误解吗?我会认为 Unirest::printa("abc");
是访问静态 class 函数的正确方法吗?
如果有任何关于此的建议,我将不胜感激,谢谢。
自 Unirest 2.0 发布以来,方法和 class 签名发生了变化。不幸的是,Mashape 样本片段尚未更新。
您应该调用 Unirest\Request::post
而不是调用 Unirest::post
,请参阅 unirest documentation 了解更多详情。
我们将很快更新 Mashape 样本以反映这一变化。
我是 unirest-php 的作者,我在 Mashape 工作。
我有一段代码,几乎是最基本的代码,但出于某种原因,它只是拒绝 运行:
<?php
require_once "unirest/src/Unirest.php";
$photo_url = "http://api.animetrics.com/img/test/sc.jpg";
// These code snippets use an open-source library.
$response = Unirest::post("<--URL-->",
array(
"X-Mashape-Key" => "<--API Key-->",
"Content-Type" => "application/x-www-form-urlencoded",
"Accept" => "application/json"
),
array(
"selector" => "FACE, EYES, FULL",
"url" => "http://api.animetrics.com/img/test/sc.jpg"
)
);
echo $response;
?>
这个代码块是直接从mashape网站上截取的,我简单下载了Unirest文件。我也确定我的路径是正确的。
我调查了一下并尝试在 Unirest 文件中添加一个静态 class 函数来打印一些东西,不出所料,它没有用。
这是我添加的代码块:
<?php
namespace Unirest;
echo "in file";
$file = new File();
$file->printa("abc");
class File
{
public static function printa($a) {
echo $a;
}
....
在同一个文件中,$file->printa("abc");
工作得很好,但是当从不同的文件调用时,File::printa("abc");
或 Unirest::printa("abc");
或 File\Unirest::printa("abc");
只是拒绝 运行.
我不确定,但我对命名空间有什么误解吗?我会认为 Unirest::printa("abc");
是访问静态 class 函数的正确方法吗?
如果有任何关于此的建议,我将不胜感激,谢谢。
自 Unirest 2.0 发布以来,方法和 class 签名发生了变化。不幸的是,Mashape 样本片段尚未更新。
您应该调用 Unirest\Request::post
而不是调用 Unirest::post
,请参阅 unirest documentation 了解更多详情。
我们将很快更新 Mashape 样本以反映这一变化。
我是 unirest-php 的作者,我在 Mashape 工作。