2016-10-24 2 views
0

구형에 새로 왔습니다. REST 엔드 포인트에 연결하려고합니다. 말풍선을 통해 요청을 보내거나 크롬에 대해 우편 배달부 앱과 같은 것을 사용하여 예상되는 JSON 응답을 반환합니다. 아래의 guzzle을 사용하여 보내면 헤더가없는 URL을 누를 경우 반환되는 것과 비슷한 404 오류가 반환됩니다.기본 헤더가 요청에 적용되지 않음

헤더가이 요청에 포함되지 않는 이유는 무엇입니까?

// Get extra detail for the object 
$client = new \GuzzleHttp\Client([ 
    'base_uri' => env('OPENIDM_URL'), 
    'headers' => [ 
    'Content-Type' => 'application/json', 
    'X-OpenIDM-Username' => env('OPENIDM_USER'), 
    'X-OpenIDM-Password' => env('OPENIDM_PASS'), 
    'Authorization' => 'Basic Og==' 
    ] 
]); 

$request = new \GuzzleHttp\Psr7\Request('GET', $attributes['sourceobjectid']); 
$res = $client->send($request); 

클라이언트 및 요청 개체의 콘텐츠를 덤프했습니다. 그들은 다음과 같이 보입니다 :

Client {#181 ▼ 
    -config: array:8 [▼ 
    "base_uri" => Uri {#188 ▼ 
     -scheme: "https" 
     -userInfo: "" 
     -host: "my.url.here.com" 
     -port: null 
     -path: "/openidm" 
     -query: "" 
     -fragment: "" 
    } 
    "headers" => array:5 [▼ 
     "Content-Type" => "application/json" 
     "X-OpenIDM-Username" => "myuser" 
     "X-OpenIDM-Password" => "mypass" 
     "Authorization" => "Basic Og==" 
     "User-Agent" => "GuzzleHttp/6.2.1 curl/7.38.0 PHP/5.6.26-0+deb8u1" 
    ] 
    "handler" => HandlerStack {#169 ▶} 
    "allow_redirects" => array:5 [▶] 
    "http_errors" => true 
    "decode_content" => true 
    "verify" => true 
    "cookies" => false 
    ] 
} 
Request {#189 ▼ 
    -method: "GET" 
    -requestTarget: null 
    -uri: Uri {#190 ▼ 
    -scheme: "" 
    -userInfo: "" 
    -host: "" 
    -port: null 
    -path: "managed/user/eb758aab-7896-4196-8989-ba7f97a7e962" 
    -query: "" 
    -fragment: "" 
    } 
    -headers: [] 
    -headerNames: [] 
    -protocol: "1.1" 
    -stream: null 

어떤 제안을 주시면 감사하겠습니다.

+0

HandlerStack을 사용하여 수행 할 수 있습니다. Guzzle 문서 - http://docs.guzzlephp.org/ko/latest/handlers-and-middleware.html#handlerstack에서 살펴보십시오. – mrDinkelman

답변

0

요청 개체를 직접 구성하면 Guzzle이 요청 개체를 구성하지 않습니다.

클라이언트에서 가져온 편리한 HTTP 메소드 (get, put 등)를 사용해야하거나 사용자 정의 미들웨어를 사용해야합니다.

첫 번째 것은 더 쉬우 며 두 번째 것은 더 많은 권한을 부여하지만 책임도 부여합니다.

관련 문제