1

CURL (PHP) に疑問がありました。CURL を使用してサイトに直接ログインしたいと考えています。可能でしょうか、よろしければご指導ください。

以下で試しましたが、うまくいきません

http://username:password@myurl
4

2 に答える 2

3

これはおそらくあなたが探しているものです:

$ch = curl_init("http://myurl");
curl_setopt($ch, CURLOPT_USERPWD, "[username]:[password]");
$output = curl_exec($ch);

CURL のその他のオプションについては、こちらを参照してください。

于 2009-01-21T05:04:06.867 に答える
1

praveenjayapal さん、HTTP 認証を使用するサイトにログインしようとしていますか? または、そのサイトには、入力するユーザー名/パスワード フォームのようなものがありますか?

2 番目のケースでは、CURL は適切なソリューションではない可能性があります。そのようなサイトでは通常、ログインに成功した後、ブラウザに何らかの認証 Cookie が保存されるからです。

ブラウザーの動作をシミュレートするには、ユーザー名とパスワードを送信する POST/GET 要求を送信し、HTTP ヘッダーで返された Cookie を読み取る必要があります。(CURL にそれらを吐き出させる方法があるかもしれません。) Cookie を取得したら、Cookie を送信し続ける限り、通常どおりサイトにアクセスし続けることができます。

注意: 多くのサイトでは、上で説明したような単純な動作を使用していません。しかし、ほとんどの PHP ベースのサイトでは、PHP セッションを使用して、サイトを閲覧するユーザーを追跡しています。つまり、セッションに属していることをサイトに「伝える」必要があります。Web サイトの PHP の構成方法に応じて、phpsessidCookie を保存して送信するかphpsessid、すべての要求で GET パラメーターとしてこれを行うことができます。

于 2009-01-21T06:22:43.700 に答える