如何使用PHP获取受保护的内容

时间:2017-07-02 08:08:41

标签: php

我想自动编写一个文件内容,但我想要的是锁定在登录后面有一种方法用PHP使代码登录到https://www.cbs.com/user/signup/,然后从中获取我想要的一行文本? sorta就像file_contents或Curl抓什么的?如果是这样的话,最好的办法是什么?任何帮助或想法都会很棒!香港专业教育学院尝试过一切:)我已经尝试过的事情包括$grab = file_get_contents

更新我尝试的内容

<?php
$username = 'myuser';
$password = 'mypass';
$loginUrl = 'https://www.cbs.com/user/signup/';

//init curl
$ch = curl_init();

//Set the URL to work with
curl_setopt($ch, CURLOPT_URL, $loginUrl);

// ENABLE HTTP POST
curl_setopt($ch, CURLOPT_POST, 1);

//Set the post parameters
curl_setopt($ch, CURLOPT_POSTFIELDS, 'j_username='.$username.'&j_password='.$password);

//Handle cookies for the login
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

//Setting CURLOPT_RETURNTRANSFER variable to 1 will force cURL
//not to print out the results of its query.
//Instead, it will return the results as a string return value
//from curl_exec() instead of the usual true/false.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

//execute the request (the login)
$store = curl_exec($ch);

//the login is now done and you can continue to get the
//protected content.

//set the URL to the protected file
curl_setopt($ch, CURLOPT_URL, 'urliwannagrab');

//execute the request
$content = curl_exec($ch);

//save the data to disk
file_put_contents('cam1g.php', $content);
?>

1 个答案:

答案 0 :(得分:0)

最适合您的选择是cURL

  

PHP支持libcurl,这是一个由Daniel Stenberg创建的库   允许您连接和通信许多不同类型的   具有许多不同类型协议的服务器。 libcurl目前   支持http,https,ftp,gopher,telnet,dict,file和ldap   协议。 libcurl还支持HTTPS证书,HTTP POST,HTTP   PUT,FTP上传(这也可以通过PHP的ftp扩展来完成),   基于HTTP表单的上传,代理,cookie和用户+密码   认证