PHP从需要身份验证的网页读取

PHP从需要身份验证的网页读取,php,Php,我正在尝试获取需要使用PHP进行身份验证的网页内容。 理想情况下,我希望使用简单的html dom解析器:。 有人知道这样做的方法吗 编辑: 尝试了以下代码: $ch=curl_init() curl_setopt($ch,CURLOPT_URL,$URL) curl_setopt($ch,CURLOPT_POSTFIELDS,'username='。urlencode($username)。&password='。urlencode($pass)) 卷曲设置($ch,卷曲设置桩,1) curl

我正在尝试获取需要使用PHP进行身份验证的网页内容。
理想情况下,我希望使用简单的html dom解析器:。
有人知道这样做的方法吗

编辑:
尝试了以下代码:
$ch=curl_init()
curl_setopt($ch,CURLOPT_URL,$URL)
curl_setopt($ch,CURLOPT_POSTFIELDS,'username='。urlencode($username)。&password='。urlencode($pass))
卷曲设置($ch,卷曲设置桩,1)
curl_setopt($ch,CURLOPT_头,0)
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1)
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false)
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1)
curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT')
echo curl_exec($ch)
卷曲关闭($ch);


但是现在我得到了一个405 HTTP错误。

我从未使用过该解析器,但是他们的示例代码使它看起来好像可以从文件或URL加载数据。我将使用php的curl函数,它允许您轻松访问具有多种身份验证类型的页面,将结果保存到文件中,然后使用库解析文件

具体查看
CURLOPT_HTTPAUTH
选项

希望这有帮助

编辑:

我必须查405;我从来没见过。听起来您的ISP不允许POST请求,或者可能不允许没有SSL的POST请求:


我会和运行你服务器的人谈谈405。我觉得你的代码不错。发布登录表单是否会返回您想要的页面,或者在保存会话信息后,您是否必须下拉另一个页面?

什么样的身份验证?简单的HTTP身份验证还是实际的会话存储数据?是的,我不是说简单的HTTP身份验证,我是说一个常规的登录表单。你能进一步解释一下吗?尝试了CURLOPT_HTTPAUTH,但无法使其工作。顺便说一句,说得非常清楚,我说的不是htaccess身份验证,而是一种表单身份验证,比如gmail、facebook或其他什么。大多数做Facebook或Gmail认证的人都会使用Oauth。这仍然是可能的;我在这里找到了一个示例链接:(youtube,不是facebook,但oauth是ouath)。我建议你检查一下你感兴趣的网站的API并修改细节。看起来谷歌仍然允许基本的身份验证,实际上,谷歌和facebook只是例子。无法将Oauth用于我试图从中提取信息的站点。