0

PHP curl は、この Web サイトhttp://livearchive.onlinejudge.org/のログイン情報をシミュレートできず、次の文を返します。このページを表示する権限がありません!

4

2 に答える 2

2

cURL はログインをうまくシミュレートできるはずです。

次のことを確認してください。

  • データをログイン URL に POST します。
  • ログインページをフェッチして、正しい nonce データなどを取得します。
  • 後で Cookie を保存し、それ以降のリクエストに使用します

データを投稿する方法

cURL で $_POST 値を渡すという質問への回答を参照してください。

適切なフォーム データを取得する方法

HTML パーサー ライブラリを使用して Web ページを解析し、フィールドを抽出します。たとえば、DOMDocumentを使用getElementByIdして、目的のフォームを取得するために使用できます。

Cookie を保存して、以降のリクエストに使用する方法

これについては、 PHP cURL と Cookieのページで説明されています。

于 2012-08-18T11:52:05.843 に答える
0

ただの質問なので、スクリプトではなく説明も必要だと思います。

Curlはあなたが言及したサイトに完全にログインできますが、パラメータを正しく取得する必要があります。

URLは、http://livearchive.onlinejudge.org/index.php?option = com_comprofiler &task=loginおよび次の変数で指定する必要があります。

username=
passwd= 
op2=login
lang=english
force_session=1
return=B%3AaHR0cDovL2xpdmVhcmNoaXZlLm9ubGluZWp1ZGdlLm9yZy8%3D
message=0
loginfrom=loginmodule
cbsecuritym3=cbm_02099e1c_6e2810f8_97a3f622ba6c000cb557bd8458534f61&j2ffb0ca892d8cf58942dfbea23559ed2=1
remember=yes
Submit=Login

変数に注意してくださいcbsecuritym3。また、たとえば次のような2つのCookie情報を送信する必要があります。mosvisitor=1; 8ca25fe06780267eef1b49296a9a99ce=249baaaba68197c9b1681e57d69c3193

これらすべてが適切に送信されれば、ログインできるようになります

于 2012-08-18T14:29:47.340 に答える