GuzzleHttp Laravel - 无法解析主机:myapplication.dev

Posted

技术标签:

【中文标题】GuzzleHttp Laravel - 无法解析主机:myapplication.dev【英文标题】:GuzzleHttp Laravel - Could not resolve host: myapplication.dev 【发布时间】:2019-03-28 17:24:19 【问题描述】:

我在forge.laravel.com上开发申请,需要使用GuzzleHttp。

问题是我还没有注册域名myapplication.dev。

当我从客户端浏览网站时,我解决了这个问题,把它放在我的 windows 主机文件中:

myapplication.dev X.XX.XX.XXX

但不知不觉这不适用于来自服务器的请求。

这就是我调用 GuzzleHttp 的方式:

$client = new Client([
          'base_uri' => request()->getSchemeAndhttpHost(),
          'headers' => request()->header()
      ]);
      $name = $client->get('/example.getName?id=1')->getBody()->getContents();

我可以使用 Forge 强制将 myapplication.dev 重定向到我的应用程序吗?

谢谢

【问题讨论】:

【参考方案1】:

当然,你可以在 nginx 的配置中设置你的服务器的 ip 地址。

listen 80;
server_name THE_IP;
root /var/www/html;  #the location of your root dir...

https://www.linode.com/docs/web-servers/nginx/how-to-configure-nginx/

看看服务器块。

然后在你的 guzzle 客户端中指向一个 ip 而不是域。

【讨论】:

我使用 Forge.lavavel.com,当我尝试更改 NGINX 配置时出现此错误:在 0.0.0.0:80 上冲突的服务器名称“xxx.xxx.xxx.xxx”,被忽略跨度> 这不是您想要的,但可能会有所帮助:另一种不同的方法是实现模拟处理程序。见docs.guzzlephp.org/en/stable/testing.html#mock-handler

以上是关于GuzzleHttp Laravel - 无法解析主机:myapplication.dev的主要内容,如果未能解决你的问题,请参考以下文章

laravel 类 'GuzzleHttp\Client' 未找到

ovh/ovh 需要 guzzlehttp^6.0 而 therobfonz/laravel-mandrill-driver 需要 guzzlehttp^7.0:有啥解决方案吗?

Laravel + GuzzleHTTP 没有响应数据?

laravel/lumen-installer 安装失败:guzzlehttp/guzzle 锁定在 6.3.0

Laravel 8/Passport/GuzzleHttp APO 返回 200 OK 但没有正文响应

在 laravel 中使用 GuzzleHttp 发送原始空 json