https://api.example.com
(https
に注意してください)に接続するために、Laravel 5.3アプリケーションでGuzzleHttp
を使用しようとしています。GuzzleHttpがhttpsにポート80を使用しようとしているのはなぜですか?
<?php
$client = new GuzzleHttp\Client();
$res = $client->request('GET', 'https://api.example.com/accounts', [
'headers' => [
'Accept' => 'application/json',
'Authorization' => "Token $token"
]
]);
var_dump($res->getBody());
しかし、私はそれがURLでhttps
にもかかわらず、ポート80(!)に接続できないというエラーを取得しています。私はポート443(例えばhttps://api.example.com:443/accounts
)を指定した場合でも、それはまだ私にポート80については、このエラーを与える:
cURL error 7: Failed to connect to api.example.com port 80:
Connection refused (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
なぜそれがポート443で接続していないのだろうか?なぜポート80で接続しようとしていますか?
apiがリダイレクトしていないことを確認しましたか? – nogad
@nogadまあ、何を知っていますか?生の 'curl'リクエストで出力を確認し、301(永久に移動した)と戻ってきました。面白い。もっと後で調査します。 – fronzee
おかげで何が起きるかわかります;-) – nogad