简体   繁体   中英

Api response not showing with curl in php

I want to fetch Api response (created in nodejs) in website using Php,So for this i am using curl but its not working,I tried with following code but not working for me (showing blank page),Where i am wrong ? Here is my code

$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);

change your post array


  $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);

Change

$result = json_decode($response);

To

$result = json_decode($response, true);

Then

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

Response:-

Array
(
 [statusCode] => 401
 [error] => Unauthorized
 [message] => Invalid username or password
 [responseType] => INVALID_USER_PASS
)

Try displaying errors just in case the errors/warnings are suppressed.

use these at the top of the file, just after the php tags

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

Also try to print the raw response before json_decoding it, this is because if the response you are getting is not valid json nothing would be printed out after decoding it.

Use this

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

In summarry your code should look like

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);

Let us know what the exact response you get from this is

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM