ホームページ  >  記事  >  バックエンド開発  >  PHP で file_get_contents を使用して複数の Cookie を送信するには?

PHP で file_get_contents を使用して複数の Cookie を送信するには?

DDD
DDDオリジナル
2024-10-18 08:44:03553ブラウズ

How to Send Multiple Cookies with file_get_contents in PHP?

Sending Multiple Cookies with file_get_contents

The PHP manual provides an example demonstrating how to send a cookie using stream contexts. However, it does not address the scenario of sending multiple cookies.

Multiple Cookie Options

There are several options for sending multiple cookies:

  • Option 1:
<code class="php">"Cookie: user=3345&pass=abcd\r\n"</code>

This option combines the cookies into a single string, separated by an ampersand (&). However, it may not be compatible with all servers.

  • Option 2:
<code class="php">"Cookie: user=3345\r\n" . 
"Cookie: pass=abcd\r\n"</code>

This option sends the cookies as separate lines with individual Cookie headers. It provides better compatibility but may look messy.

Optimal Solution

The preferred option for sending multiple cookies is:

  • Option 3:
<code class="php">Cookie: user=3345; pass=abcd</code>

This syntax uses semicolons (;) to separate the cookie pairs. It is widely supported and follows the HTTP cookie specification.

Implementation

To send multiple cookies using file_get_contents:

<code class="php">$cookies = array('user' =&gt; '3345', 'pass' =&gt; 'abcd');
$cookieString = '';
foreach ($cookies as $name =&gt; $value) {
    $cookieString .= "$name=$value;";
}

$opts = array(
  'http' =&gt; array(
    'method' =&gt; 'GET',
    'header' =&gt; "Accept-language: en\r\n" .
              "Cookie: $cookieString\r\n"
  )
);

$context = stream_context_create($opts);
$file = file_get_contents('http://www.example.com/', false, $context);</code>

以上がPHP で file_get_contents を使用して複数の Cookie を送信するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。