tr-6ren">
gpt4 book ai didi

php - 为什么 cURL 有时需要 URL 的 "www."部分才能工作,反之亦然?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:05:59 25 4
gpt4 key购买 nike

例如,使用此代码:

 $curl = curl_init();
curl_setopt_array( $curl, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => "$url" ) );
curl_exec( $curl );
$header = curl_getinfo( $curl, CURLINFO_HTTP_CODE );
curl_close( $curl );

$url = "http://upenn.edu"工作,而 $url = "http://www.upenn.edu " 将起作用。

没有 www.,我得到的响应代码是 0,而使用 www. 时,它是 200.

如果我使用 PHP get_headers("http://upenn.edu"),我会得到两个错误:

Warning: get_headers() [function.get-headers]: php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known

Warning: get_headers(http://upenn.edu) [function.get-headers]: failed to open stream: php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known

但是,当我使用完全相同的代码时,http://google.com 工作(以及预期的 http://www .google.com.)

然后,对于诸如 http://www.dogpile.com 之类的网站,包含的 www. 部分返回响应代码 0没有 www.,我得到一个 302

这是为什么?是否有更好的方法来确保可靠的结果(即 www. 不存在,但仍然返回响应代码?)

我不熟悉使用 cURL 和处理 header 和响应代码,因此非常感谢您的帮助。谢谢。

最佳答案

并非所有域都将 www.domain.comdomain.com 视为相同。 通常他们这样做,但如果你愿意,你可以在他们上面有两个完全不同的网站。

就个人而言,我喜欢将对 www.mydomains.com 的所有请求都重定向到无 www 版本,但这只是我的偏好。

没有可靠的方法自动检测是否使用 www.

关于php - 为什么 cURL 有时需要 URL 的 "www."部分才能工作,反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13942330/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com