laravel
  • cakephp
  • httprequest
  • guzzle
  • 2017-08-31 93 views 1 likes 
    1

    我有以下代码。我需要使用laravel相同的代码使用狂饮但不工作狂饮laravel狂饮httpsocket用于SSL参数验证对等体在CakePHP中主机

    $url = "https://xyz?"; 
    $query ='first_name='. $data->FirstName .'&gender=""'. '&home_phone='. $data->HomePhone.'&ip_address='. $data->IPAddress.'&last_name='. $data->LastName.'&user_defined_url='. $result; 
    
    $HttpSocket = new HttpSocket(array('ssl_verify_peer' => false, 'ssl_verify_host' => false)); 
    $post_response = $HttpSocket->get($url,$query); 
    $response = explode('&',$post_response->body); 
    

    我已经转换它laravel。下面我的代码,我转换laravel:

    $client   = new Client(['verify' => false ]); 
    $post_response = $client->get($url, $query); 
    $response  = explode('&',$post_response->body); 
    

    注意:使用GuzzleHttp \客户端;在文件顶部被写入。

    在此先感谢您的帮助!

    +0

    那么,有什么问题呢? –

    +0

    它给出了laravel.log和休息客户端我没有得到回应许多错误。 laravel.log中的一些错误如下: [2017-08-31 10:35:10] local.ERROR:异常'ErrorException'带消息'参数3传递给GuzzleHttp \ Client :: request()必须是类型数组,字符串给定,在/var/www/html/laravel/clickmedia/vendor/guzzlehttp/guzzle/src/Client.php中调用,并定义在/ var/www/html/laravel/clickmedia/vendor/guzzlehttp/guzzle/src/Client.php:128 #2 /var/www/html/laravel/clickmedia/app/Http/Controllers/ApiController.php(163):GuzzleHttp \ Client - > __ call('get',Array ) –

    回答

    1

    你可以尝试这样的,

    $client = new Client(); 
    $post_response = $client->request('GET', $url, [ 
        'verify' => false, 
        'form_params' => [ 
         'first_name' => $data->FirstName, 
         'gender' => "", 
         'home_phone' => $data->HomePhone, 
         'ip_address' => $data->IPAddress, 
         'last_name' => $data->LastName, 
         'user_defined_url' => $result 
        ] 
    ]); 
    $response = explode('&',$post_response->body); 
    

    而不是form_params可以使用查询发送的参数作为查询字符串。

    +0

    这个工作。谢谢@Naveen。 –

    相关问题