2014-12-15 1 views
0

Я использую Kohana 3.3 и пытаюсь сделать внешний запрос к URL-адресу, который является внутренним для нашей компании. На внешнем веб-сайте требуются учетные данные пользователя. Как сделать внешний запрос на этот сайт? Я планировал использовать один запрос для входа в систему, а затем ударить по URL-адресу, который я хочу, но как мне его достичь? Ниже приведен пример кода.Как отправить внешний запрос на веб-сайт, который нуждается в аутентификации - Kohana 3.3

 Request::factory('http://example.com/user/login')->method('POST')->post('username', 'abc')->post('password', '123')->execute(); 
    $request = Request::$current; 

    $request->factory('http://example.com/do/this')->method('POST')->post('param1', 'value')->post('param2', 'value2'); 
    $response = $request->execute(); 

выше код не в $request->factory() говоря его не объект и не может вызвать метод фабрики().

Может ли кто-нибудь сказать мне, что является правильным способом делать то, чего я пытаюсь достичь в Kohana 3.3?

ответ

0

Чтобы отправить внешний запрос, вы должны создать запрос с Request::factory(), а затем execute(). Обратите внимание, что $request->execute() возвращает Response объект.

Чтобы сделать 2 запросов авторизовать защищенное использование сайта:

// We create $request object 
$request = Request::factory('http://example.com/user/login') 
    ->method('POST') 
    ->post(array(
     'username' => 'abc', 
     'password' => '1111' 
    )); 

// We execute $request - getting 1st response 
$response1 = $request->execute(); 

// We setting new URL to our $request object and new POST params 
$request 
    ->url('http://example.com/do/this') 
    ->post(array(
     'param1' => '1', 
     'param2' => '2' 
    ));; 

// Now we can execute it again 
$response2 = $request->execute(); 

Таким образом, идея есть - Youcan использование 1 объект запрос для различных реальных запросов.