1

GETするcurlコードを以下に示します。

<?php  
function get_content($URL){
          $ch = curl_init();
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
          curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); 
          curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); 
          curl_setopt($ch, CURLOPT_URL, $URL);
          $data = curl_exec($ch);
          curl_close($ch);
          return $data;
      }
 echo get_content("http://www.domain.com/cool.php");
?>

httpヘッダーを使用しましたが、Cookieは次のようになります

xidseq:22
xid:b05f251c-8a72-4c2b-a230-e03b9c5c87b7&&BAYIDSAMFE1C013&343
data:dsfsfssdss

http://www.domain.com/cool.phpいくつかのCookieを使用してGETリクエストをに送信する必要があります。

cookie.txtにcookieを入れるにはどうすればよいですか?クッキーの特定の形式はありますか..またはそれを投稿するだけで機能しますか?

4

1 に答える 1

1

上記のスクリプトが機能しない場合は、次を試してください。

curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__) . '/cookie.txt'); 
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/cookie.txt'); /* make sure you provide FULL PATH to cookie files*/

のファイルのアクセス許可と所有権を確認してくださいdirname(__FILE__) . '/cookie.txt'。ファイルが書き込み可能であることを確認してください。

Cookieをcookie.txtに入れるには、Cookieを含む特定のWebページにアクセスする必要があります。cURLで取得できるのはサーバー側のCookieのみであり、少なくとも直接ではなく、cURLを介してjavascriptCookieに到達することはできません。

GETリクエスト用に手動でCookieを作成する場合は、Netscape Cookieの形式について読むか、CURLOPT_COOKIEJARを介して「実際のWebサイト」のCookieを保存して、形式を確認して理解してください。

于 2012-11-01T22:10:52.273 に答える