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

DDD
リリース: 2024-10-18 08:44:03
オリジナル
547 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート