Symfony/Panther运行时出现net::ERR_NAME_NOT_RESOLVED错误求助
解决net::ERR_NAME_NOT_RESOLVED报错问题
问题场景
运行这段PHP代码时触发域名解析错误:
$client = Client::createChromeClient(null, [ '--headless', '--no-sandbox', '--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36', '--window-size=1200,1100', '--disable-gpu', ], ["port" => 9080, 'request_timeout_in_ms' => 100000] ); $client->request('GET', 'https://www.apple.com');
对应的错误日志:
unknown error: net::ERR_NAME_NOT_RESOLVED (Session info: headless chrome=107.0.5304.87) #0 /var/www/html/tests/php/scraping/panther/vendor/php-webdriver/webdriver/lib/Remote/HttpCommandExecutor.php(385): Facebook\WebDriver\Exception\WebDriverException::throwException() #1 /var/www/html/tests/php/scraping/panther/vendor/php-webdriver/webdriver/lib/Remote/RemoteWebDriver.php(598): Facebook\WebDriver\Remote\HttpCommandExecutor->execute() #2 /var/www/html/tests/php/scraping/panther/vendor/php-webdriver/webdriver/lib/Remote/RemoteWebDriver.php(257): Facebook\WebDriver\Remote\RemoteWebDriver->execute() #3 /var/www/html/tests/php/scraping/panther/vendor/symfony/panther/src/Client.php(532): Facebook\WebDriver\Remote\RemoteWebDriver->get() #4 /var/www/html/tests/php/scraping/panther/vendor/symfony/panther/src/Client.php(276): Symfony\Component\Panther\Client->get() #5 /var/www/html/tests/php/scraping/panther/index.php(26): Symfony\Component\Panther\Client->request() #6 {main}
排查与解决步骤
net::ERR_NAME_NOT_RESOLVED本质是Chrome无法解析目标域名,按以下方向排查:
- 测试服务器网络:在服务器终端执行
ping www.apple.com,如果无响应,说明服务器DNS配置异常,可更换为公共DNS(如8.8.8.8、114.114.114.114)。 - 检查代理配置:若服务器依赖代理访问外网,需确保Chrome启动参数中添加了正确的代理配置,或系统全局代理能正常访问目标域名。
- 确认端口可用性:代码指定了9080端口,用
netstat -tulpn | grep 9080检查是否被占用,避免Chrome实例启动异常导致网络请求失败。 - 更新Chrome版本:当前使用的Chrome 107版本较旧,更新到最新稳定版可能修复DNS解析相关的已知bug。
内容的提问来源于stack exchange,提问作者Sourav Chakraborty
相关产品推荐
相关产品推荐

