как получить данные из enom api в laravel с помощью контроллера - PullRequest
0 голосов
/ 02 мая 2018

Пройдя по этой ссылке

https://resellertest.enom.com/interface.asp?command=check&sld=enom&tld=com&responsetype=xml&uid=resellid&pw=resellpw

Как я могу получить следующие данные в laravel, используя контроллер.

<interface-response>
<DomainName>enom.com</DomainName>
<RRPCode>211</RRPCode>
<RRPText>Domain not available</RRPText>
<Command>CHECK</Command>
<APIType>API.NET</APIType>
<Language>eng</Language>
<ErrCount>0</ErrCount>
<ResponseCount>0</ResponseCount>
<MinPeriod>1</MinPeriod>
<MaxPeriod>10</MaxPeriod>
<Server>sjl1vwresell_t</Server>
<Site>eNom</Site>
<IsLockable>True</IsLockable>
<IsRealTimeTLD>True</IsRealTimeTLD>
<TimeDifference>+8.00</TimeDifference>
<ExecTime>0.328</ExecTime>
<Done>true</Done>
<TrackingKey>1f5b6d77-f715-42af-94a2-a30e0a40f847</TrackingKey>
<RequestDateTime>5/2/2018 12:58:22 AM</RequestDateTime>
<debug/>
</interface-response>

Как передать URL в контроллер и отобразить данные в поле зрения.

1 Ответ

0 голосов
/ 02 мая 2018

Вы можете использовать эту библиотеку: https://github.com/ixudra/curl

В вашем контроллере:

use Ixudra\Curl\Facades\Curl;

public function test()
{
    $response = Curl::to('https://resellertest.enom.com/interface.asp?command=check&sld=enom&tld=com&responsetype=xml&uid=resellid&pw=resellpw')
        ->get();
    //dd($response); //check if we are getting a response
    return view('index', array(
        'response' => $response,
    ));
}

Дамп данных dd($response); будет выглядеть так:

enter image description here

Ответ на другой вопрос из комментария:

1-й Ваша форма должна направлять метод в ваш контроллер, а вход формы (метод POST) должен иметь:

<input type="text" name="sld">
<input type="text" name="tld">
...
<input type="hidden" name="_token" value"{{ csrf_token() }}">

2nd Захватите запрос формы для метода в вашем контроллере:

use Illuminate\Http\Request;

public function test(Request $request)
    {
        $sld = $request['sld'];
        $tld = $request['tld'];
        //if you want, initialize more variables here...

        $response = Curl::to('https://resellertest.enom.com/interface.asp?command=check&sld='. $sld .'&tld='. 
$tld .'&responsetype=xml&uid=resellid&pw=resellpw')
            ->get();
        //dd($response); //check if we are getting a response
        return view('index', array(
            'response' => $response,
        ));
    }
...