0

PHP と file_get_contents 関数を使用してファイルのソースを取得しようとしています。

問題は、Web サイトにログインが必要なことです。最初にサイトにログインしてから file_get_contents 関数を使用することでこれを回避できると考えましたが、そうではありません。関数が返すページはログイン ページです。

これはコードです:

<?php

if (isset($_GET['getroster'])){
$file = stripslashes(file_get_contents('https://intranet.hlf.de/custom/cddTUB.asp?show=1'));
print ($file);
}

?>

この関数を実行するとき、または URL に移動するときにわかるように、ドロップダウン リストからユーザー名、パスワード、および会社を要求します。

これまたは他の PHP 関数を使用して、これらの値をページに渡すことは可能ですか。それとも、まったく別の方法でそれを行うのでしょうか?

4

3 に答える 3

2

ブラウザのCookieと、PHPで送信できるCookieは完全に無関係です。

curlを使用すると、オプションCURLOPT_COOKIEJARを設定したりCURLOPT_COOKIEFILE、Cookieを保存およびロードするファイルを指定したりできます。

そのためには、最初にログインを行うリクエストを行う必要があります(これによりCookieが取得されます)。次に、ログインしたユーザーとして実行したい要求を実行できます(curlにCookieがあるため)。

于 2010-07-24T10:13:17.120 に答える
0

正しいCookieを送信する必要があります。curlを使用できる場合は、このページのスクリプトが役立つはずです。このSOの質問もご覧ください(ブラウザのCookieを再利用してリクエストを行うため、ケースとは少し異なります)。

于 2010-07-24T10:17:11.240 に答える
0

そのダニエルを行う方法の例を投稿できる変更はありますか?

ユーザー情報をページに送信して自動的にログインするフォームのようなログインを作成するオプションはありませんか? ヘッダー情報を送信してログインできる stream_context_create 関数について何か読んでください。それについて投稿された例では、ユーザー名とパスワードのみが提供されますが、もちろん、認証ページに投稿する3番目のオプションがあります!

于 2010-07-24T10:24:08.537 に答える