Guzzle 请求失败取决于我连接的网络,

Guzzle request failing depending on the network I am connected,

我正在使用 guzzle 向我的子域 api.domain.com 发出请求。 在同一个 phone 热点上。当我在家时,我的 guzzle 请求需要有 www.api.domain.com 但在工作附近的任何地方,它需要 api.domain.com 并且 www. 失败了。我不明白为什么,这正在发生。

这是我的代码。有时它像那样工作没有任何问题。

$client = new GuzzleHttp\Client([
         'base_uri' => 'https://api.domain.com',
         'timeout'  => 10

     ]);

在我的控制器中

 $get = $this->client->request('GET','/dashboard', [
            'timeout' => 0,
            'headers'=>[
            ],
            'form_params'=> ['param'=>$param]
          ]);

但是当我改变位置时它不起作用。我需要通过添加 www

来修改它
$client = new GuzzleHttp\Client([
         'base_uri' => 'https://www.api.domain.com',
         'timeout'  => 10

     ]);

我的控制器保持不变并且可以正常工作

 $get = $this->client->request('GET','/dashboard', [
            'timeout' => 0,
            'headers'=>[
            ],
            'form_params'=> ['param'=>$param]
          ]);

我收到 guzzle cUrl 错误 6

我的 .htaccess 在 api 中看起来像这样。我对 htaccess 不是很了解所以如果我犯了错误请指正我。

  RewriteCond %{REQUEST_URI}:: ^(/.+)/(.*)::$
  RewriteRule ^(.*) - [E=BASE:%1]

  RewriteCond %{HTTP:Authorization} ^(.*)
  RewriteRule .* - [e=Authorization:%1]

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [QSA,L]

  RewriteCond %{HTTPS} off [OR]
  RewriteCond %{HTTP_HOST} ^www\.api.domain\.com [NC]
  RewriteRule (.*) https://api.domain.com/ [L,R=301]

禁用验证 SSL

$this->client = new GuzzleClient(['defaults' => [
    'verify' => false
]]);

你尝试了吗?

归根结底是公司做的服务器配置有问题。 很抱歉以这个问题打扰您。