2016-07-11 19 views
0

Ich versuche, Daten von einem Endpunkt zu bekommen. Und der Endpunkt erlaubt nur Anfragen, die von einer bestimmten Domäne stammen (die nicht meine ist)Ist es möglich, eine Guzzle-Anfrage an einen Endpunkt zu stellen, der eine CORS-Beschränkung für einen Domain-Ursprung hat?

Ist es möglich, eine Anfrage mit Guzzle zu machen und es so zu tun, als ob es vom erlaubten Ursprung käme?

Derzeit versuche ich einige Header zu setzen, das zu erreichen und die Antwort zurück zu bekommen, aber es kehrt mir immer Code 200 mit Content-Length: 0

Antwort

0

Sie Origin Header festlegen können, was Sie wollen, solange Sie stellen eine Anfrage aus der Kontrolle des Browsers. In Guzzle könnte es wie folgt festgelegt werden:

$client->request('GET', '/data', [ 
    'headers' => [ 
     'Origin' => 'http://foo.bar', 
    ] 
]); 

Wenn der Host mit diesem nur Header zufrieden ist Targeting dann sind Sie fein sonst werden Sie nicht Ihre erwartete Antwort erhalten.

+0

okay, auch wenn Server nach Formulardaten, Cookies, Kopfzeilen usw. fragt, kann alles durch Guzzle "gefälscht" werden, richtig? –

+1

Guzzle ist hauptsächlich ein CURL-Wrapper, also was auch immer du mit CURL machst, kannst du mit Guzzle machen. Sie können alles, was Sie brauchen, damit senden. @Froh, dass ich Helfen kann – revo