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

Api响应在php中不随curl显示

笪成周
2023-03-14

我想在网站中使用Php获取Api响应(在nodejs中创建),所以为此我使用了curl,但它不起作用,我尝试了以下代码,但不起作用(显示空白页面),我错在哪里?这是我的密码

$post = ['email'=> "example@xyz.com",'password'=> "testing"];
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL,'http://35.154.149.228:8000/api/admin/login');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
  $response = curl_exec($ch);
  $result = json_decode($response); 
  print_R($result);

共有3个答案

夏侯涵映
2023-03-14

尝试显示错误,以防错误/警告被抑制。

在文件的顶部使用这些,就在php标签之后

ini_set("display_errors", "On");
error_reporting(E_ALL);

在json_解码之前,还要尝试打印原始响应,这是因为如果您得到的响应无效,那么解码后将不会打印任何内容。

用这个

print_r("The response is: " . $response);

在摘要中,您的代码应该如下所示

ini_set("display_errors", "On");
error_reporting(E_ALL);

$post = ['email'=> "example@xyz.com",'password'=> "testing"];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'http://35.154.149.228:8000/api/admin/login');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
$response = curl_exec($ch);
//Printing the original response before trying to decode it
//$result = json_decode($response); 

print_r("The response from the server before decoding is: " . $response);

让我们知道您从中得到的确切响应是什么

秦昊穹
2023-03-14

更改您的帖子数组


  $post = array('email'=> "example@xyz.com",'password'=> "testing");
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL,'http://35.154.149.228:8000/api/admin/login');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($post));
  $response = curl_exec($ch);
  $result = json_decode($response); 
  print_r($result);
何德寿
2023-03-14

改变

$result = json_decode($response);

$result = json_decode($response, true);

然后

echo '<pre>';
print_r($result);

回应:-

Array
(
 [statusCode] => 401
 [error] => Unauthorized
 [message] => Invalid username or password
 [responseType] => INVALID_USER_PASS
)
 类似资料:
  • 我试图通过curl与新闻提供网站进行api集成。我能够检索数据,但它不是json格式,所以很难在我的门户网站上显示该数据。 下面是我使用的代码。 请找个人帮忙 curl.php 下面是我得到的结果,如果我回显从上述代码收到的响应 {“状态”:“好的”,“总计结果”: 36,“文章”:[{“来源”:{“id”: null,“名称”:“Tmz.com”},“作者”:“TMZ工作人员”,“标题”:“90

  • 问题内容: 我在服务器上调用PHP cURL方法,响应为XML类型。cURL将输出(在删除标记之后)保存在标量类型变量中。有没有一种方法可以将其存储在对象/哈希/数组中,以便于解析? 问题答案:

  • 问题内容: 我想拥有一个独立的PHP类,在这里我想拥有一个通过cURL调用API并获取响应的函数。有人可以帮我吗? 谢谢。 问题答案: 只需使用下面的代码即可获得来自宁静的Web服务URL的响应,而我使用的是社交提及URL。

  • 我不是程序员,我需要你的帮助。 我有一个返回服务器响应的cURL函数-成功或错误: 400-错误响应: 200-成功响应: 我需要验证基于200或400状态码的响应。 如果状态为200,则继续正常操作。 如果状态为400(错误),则我需要跟踪错误消息(去掉所有标签)并仅回显错误消息(在上面的示例中-为了联系,请输入有效的电话号码。) 我该怎么做?请帮忙。 非常感谢。 卷曲代码:

  • 我用php curl发出请求,一些数据在响应中丢失。(数据数组中填充了空对象,数据在此丢失) 我的代码是: 以下是输出: curl_getinfo 答复: 请注意最后“数据”键中的空数组。 我在postman和jQuery中尝试了同样的请求。它返回正确的数据,没有任何损失。下面附有Javascript。 为什么php会丢失一些数据(数据键数组)以及如何保留它?