cURL提供了设置引用者的选项。
curl_setopt($ch, CURLOPT_REFERER, "somestring");
当通过谷歌打开网页时,我对于什么是referer设置感到困惑。例如,我在google.com中输入堆栈溢出,然后单击第一个结果。我打开SO的Google页面可能如下所示:
https://www.google.com/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&q=stack%20overflow&oq=stack%20overflow&aqs=chrome..69i57j19i60l3j69i65j0.2222j0j7
但那也是引用者?引用被剥离到只有google.com?如果浏览器将URL直接输入顶部的URL栏,该怎么办?什么将被设置为什么?
答案 0 :(得分:1)
HTTP referer(最初是引用者的拼写错误)是HTTP 标题字段,用于标识网页的地址(即URI) 或IRI)链接到所请求的资源。
在浏览器中,浏览器设置引用者。如果您访问Google(使用您的示例)并单击链接,则会向链接/服务器发出GET请求,并且引用者将设置为:
https://www.google.com/search?sourceid=chrome-psyapi2&ion=1&espv=2&ie=UTF-8&q=stack%20overflow&oq=stack%20overflow&aqs=chrome..69i57j19i60l3j69i65j0.2222j0j7
引用者是指向您单击的任何链接的页面的URL。 Referer用于所有类型的HTTP请求(GET
,POST
,PUT
等)。它可以是完全限定的域名或IP地址。
如果您未设置CURLOPT_REFERRER
,则使用cURL请求时,不会设置引荐来源。某些Web应用程序需要各个页面的引用程序,因此需要进行设置。但并非在所有情况下。
如果直接在地址栏中输入了URL,则不会设置任何引用,因为请求没有引用链接。没有提到它。
更多信息:HTTP Referer