PHP 发送 OAuth/token 请求 无法收到正确的响应,而用前端 axios 和 postman 测试却可以收到正确的响应
首先用postman测试,能收到token
用前端axios请求:
也能得到正确的返回:
laravel 5.6
php 7.34
auth.php:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
// 'hash'=>false,
],
],
用laravel Curl发送请求:
api 路由:
Route::post('/login','Auth\LoginController@login');
loginController.php:
namespace App\Http\Proxy;
use GuzzleHttp\Client;
use Ixudra\Curl\Facades\Curl;
public function login()
{
return $this->proxy->proxy([
'username'=>request('email')
,'password'=>request('password')
,'scope'=>''
]);
}
proxy方法:
public function proxy($grantType,array $data=[]){
$data=array_merge($data,[
'client_id'=>'2',
'grant_type'=>$grantType
]);
$res=Curl::to('http://localhost:8000/oauth/token')
->withData($data)
->withContentType('application/json')
->post();
return response()->json($res);
}
前端代码:
等了大概十多秒中后 返回的结果是:
返回的结果是false!!!
确认账号密码无误! 得不到正确的结果…
以上的是laravel的 Curl 发送的,
用GuzzleHttp 发送直接得不到响应,浏览器一直在等待响应中,换各种浏览器都不行,如果需要可发GuzzleHttp的代码.
我还用php 的curl库发了的,直接没有响应,请问这是什么原因?
经过我反复测试确认是后端发送http请求这里出的问题(我把发送请求的功能去掉没出现报错的情况),
但不知道为什么用后端就是发不了请求,真是个奇怪的问题
哪位大神帮看看究竟是哪里的问题谢谢啦!
推荐文章: