私はという成功したスクリプトをNode.jsに持っています。これは、ログインプロセスを模倣することによって、承認が必要なページからコンテンツを取得できます。承認が必要なページからコンテンツを取得する
PHPを使用して少し異なる目的のためにウェブページからコンテンツを取得する必要があり、JavaScriptをPHPに「変換」しようとしましたが、動作しません。
誰かがJavascriptからPHPにコードを切り替えたり、私の現在のコードで何が問題なのか教えてもらえますか?
のJavascriptのNode.jsの許可
var request = require("request");
var j = request.jar();
var cookie = request.cookie('entercookie');
j.setCookie(cookie, 'http://www.example.com');
var request = request.defaults({jar: j});
request.post('https://www.example.com/login', {username: 'username', password: 'password'}, function(err, res, body) {
makeRequest(100);
});
PHP承認
$homepage = 'http://example.com';
$postData = http_build_query(
array(
'username' => 'username',
'password' => 'password'
)
);
$cookie = 'cookie';
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded\r\n
Cookie: '.$cookie,
'content' => $postData
)
));
$data = file_get_contents($homepage, false, $context);
echo $data;
あなたが見ることができるように、私は私のように(ページのユーザー名、パスワード、およびクッキーを設定していますNode.js scrptで実行されました)、指定されたエラーが発生しています。
もっと良い解決策があれば、私はcURL
を使用することに私は付け加えたいと思います。
は、たぶん私は間違って私のスペックを覚えるんだけど、HTTP基本認証では、クッキーが上がりません'$ $ cookie'のbase64には連結がありません –
@BrandonAnzaldi' cURL'を使ってこれを解決するのがよいでしょうか? –