1

他の人から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

4 に答える 4

1

何らかの理由でhttp://www.dramexchange.com/index.html、Set-Cookieヘッダーを返送していません。

ブラウザでページを開くと、サイトはいくつかのCookie(主にからad.dramexchange.com)を設定しますが、curlはページに表示されるすべてのHTTPリソースをフェッチするわけではないため、指定したものだけをフェッチします。それらのCookieを取得しません。からいくつかのリソースを取得するかad.dramexchange.com、ブラウザでサイトを開いているときにwiresharkを開いてみてください。Cookieを送り返すリソースには、HTTP応答ヘッダーにSet-Cookieヘッダーが含まれます。

于 2009-08-09T10:45:48.167 に答える
1

この特定のWebサイトの公開セクションから送信されるすべてのCookieは、インラインコンテンツ(バナー、Webビーコンなど)からのものであり、追跡目的でのみ使用される可能性が高いようです。

ログインで保護されているコンテンツをスクレイプする場合、POSTリクエストを発行すると、サーバーからCookieが送信される可能性があります。

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

あなたがする必要があるかもしれないこと:

  • リダイレクトに従うために、curlオプションCURLOPT_FOLLOWLOCATIONを追加します。
  • ログインフォームには3つの非表示フィールドがあり、ユーザーIDとパスワードとともにそれらも送信することをお勧めします

(firebugはあなたの友達です!)

于 2009-08-09T10:50:52.867 に答える
0

私の知る限り、あなたが提供したURLは実際には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
于 2009-08-09T10:45:55.217 に答える
-3

自分の Web サイトで ordre Web サイトから Cookie を取得しようとしても、それはできません。

pls はあなたが所有しているドメイン名が何であるかを os に教えてください。

于 2009-08-09T10:28:19.650 に答える