无法从www.dramexchange.com获取php curl的cookie

时间:2009-08-09 10:15:21

标签: php cookies curl libcurl

我可以从其他人那里获取cookie,但不能从这个网站www.dramexchange.com获取?谁知道为什么?也许有人可以用php和curl做到这一点?产品:>

$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookieFileName");
curl_setopt($ch, CURLOPT_URL,"http://www.dramexchange.com");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
ob_start();      // prevent any output
curl_exec ($ch); // execute the curl command
ob_end_clean();  // stop preventing output
curl_close ($ch);
unset($ch);

4 个答案:

答案 0 :(得分:1)

无论出于何种原因,http://www.dramexchange.com/index.html都没有发回Set-Cookie标头。

当我在浏览器中打开页面时,该站点会设置几个cookie(主要来自ad.dramexchange.com),但由于curl不会获取页面中显示的每个HTTP资源 - 它只会获取一个你告诉它 - 你的请求不会检索这些cookie。您可以尝试从ad.dramexchange.com检索某些资源,或者在浏览器中打开网站时打开wireshark。发送回cookie的任何资源都会在其HTTP响应头中包含Set-Cookie标头。

答案 1 :(得分:1)

在我看来,从这些特定网站的公共部分发送的所有cookie都来自内联内容(横幅,网络信标等),并且很可能仅用于跟踪目的。

如果你想要做的是在登录时刮取受保护的内容,服务器可能会在你发出POST请求后向你发送一个cookie:

 login.aspx?ReturnUrl=www.dramexchange.com%2fDefault.aspx

您可能需要做的事情:

  • 按顺序添加卷曲选项CURLOPT_FOLLOWLOCATION,重定向,
  • 登录表单中有三个隐藏字段,您可能希望使用您的用户ID和密码发送它们

(萤火虫是你的朋友!)

答案 2 :(得分:0)

据我所知,您提供的网址实际上并未返回任何Cookie:

Cache-Control: private
Date: Sun, 09 Aug 2009 10:44:37 GMT
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Content-Encoding: gzip
Vary: Accept-Encoding
Transfer-Encoding: chunked

答案 3 :(得分:-3)

如果您尝试从自己网站上的ordre网站获取cookie,则无法执行此操作。

请告诉os您拥有的域名是什么,它可以帮助您。