CURL のヘッダーに問題があります。スクリプトには 2 つの部分があります。1 つ目は認証、2 つ目はリクエストです。最初の部分はうまく機能しています。結果コードと ID を取得しています。2 つ目の部分で設定しましたそのIDでヘッダーをアップしてヘッダーで送信しますが、このエラーが発生します(< HTTP / 1.1 401 Unauthorized)が、Firefox(ModifyHeaders)のアドオンを使用してみましたが、応答(Iこのソフトウェアに ID を設定し、URL で WS にアクセスします)、何が起こっているのか、どうすれば修正できるのかわかりません。コードは次のとおりです。
$postargs = array('username' => 'user', 'password' => 'pass', 'key' => '1234567890');
$postargs = json_encode($postargs);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type: application/json; charset=utf-8","Accept:application/json, text/javascript, */*; q=0.01"));
curl_setopt($ch, CURLOPT_POSTFIELDS, $postargs);
curl_setopt($ch, CURLOPT_URL, "https://ws.com/login");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
$fh = fopen('curl_debug.txt', 'w');
curl_setopt($ch, CURLOPT_STDERR, $fh);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
$a = json_decode($response);
echo $a->result;
curl_close($ch);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://ws.com/data");
curl_setopt($ch, CURLOPT_HTTPHEADER, array("id : $a->result","dataRequest : name","Content-Type: application/json; charset=utf-8","Accept:application/json, text/javascript, */*; q=0.01"));
curl_setopt($ch, CURLOPT_VERBOSE, TRUE);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
$fh2 = fopen('curl_debug2.txt', 'w');
curl_setopt($ch, CURLOPT_STDERR, $fh2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response2 = curl_exec($ch);
スクリプトの何が問題になっていますか? ヘッダー (この場合は id) がスクリプトではなく、ModifyHeaders で行われるのはなぜですか?
前もって感謝します。