1. ホーム
  2. php

[解決済み] PHPのcurlでHTTP基本認証を使用してリクエストを行うにはどうすればよいですか?

2022-04-02 11:22:24

質問

私はPHPでRESTウェブサービスクライアントを構築しており、現時点ではサービスへのリクエストを行うためにcurlを使用しています。

認証付き(httpベーシック)リクエストを行うには、curlをどのように使用すればよいのでしょうか?ヘッダを自分で追加する必要がありますか?

解決方法を教えてください。

こうしてほしい

curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);  

ZendにはRESTクライアントとzend_http_clientがあり、PEARには何らかのラッパーがあると思います。 しかし、自分でやるには十分簡単です。

つまり、リクエスト全体は次のような感じでしょうか。

$ch = curl_init($host);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/xml', $additionalHeaders));
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payloadName);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$return = curl_exec($ch);
curl_close($ch);