检查Shopify中是否存在网址

时间:2020-07-08 13:48:19

标签: php shopify url-validation

如何验证Shopify商店的URL?给定一个URL,我怎么知道它是有效的URL还是找不到404页面?我正在使用PHP。我尝试使用PHP get_headers()

<?php
$getheadersvalidurlresponse= get_headers('https://test072519.myshopify.com/products/test-product1'); // VALID URL
print_r($getheadersvalidurlresponse);

$getheadersinvalidurlresponse= get_headers('https://test072519.myshopify.com/products/test-product1451'); // INVALID URL
print_r($getheadersinvalidurlresponse); 
?>

但是对于有效和无效的URL,我得到的响应都是相同的。

Array
(
    [0] => HTTP/1.1 403 Forbidden
    [1] => Date: Wed, 08 Jul 2020 13:27:52 GMT
    [2] => Content-Type: text/html
    [3] => Connection: close
   ..............
)

我希望有效URL的状态代码为200,无效URL的代码为404。

任何人都可以帮助检查给定的shopify URL是否有效,或者使用PHP?

谢谢。

1 个答案:

答案 0 :(得分:2)

之所以发生这种情况,是因为Shopify区分了漫游器请求和实际的真实请求,以避免在一定程度上拒绝服务攻击。为解决此问题,您将必须指定logger.info标头以模仿浏览器对适当HTTP响应的请求。

作为改进,您可以发出user-agent请求而不是HEAD请求(因为GET默认使用GET请求,如examples所述),因为这里我们只关注响应元数据,而不关注响应主体。

代码段:

get_headers()