php外部网站登录然后转到另一个页面

时间:2018-05-30 14:05:48

标签: php http curl post http-post

我需要使用php登录到另一个站点然后从该站点的另一个页面获取内容,因为登录后它进入主页我需要客户页面。 我尝试使用file_get_contents和curl,但后者已知在这里使用php curl的代码更好:

element.style.a:visited.backgroundColor='#FFFFFF';

op rUrl 是隐藏输入标记的名称。 如果我将 $ url + $ postdata 放在浏览器的地址栏中,它会转到所需的页面,但是通过代码它没有按预期工作,它仍然保留到登录页面而不输入英寸

2 个答案:

答案 0 :(得分:1)

您的$postdata似乎无效 - 它不应该具有该?&。此外,op出现两次,第二次出现在op=customers之后?

$postdata = "?&username=$username&password=$password&op=login&rUrl=? op=customers";

此处建议使用

http_build_query以确保您生成精确的URL编码查询字符串,如下所示:

$postdata = [
    'username' => $username,
    'password' => $password,
    'op' => 'login',
    'rUrl' => 'customers',
];

echo '$postdata: ' . http_build_query($postdata);
exit;

答案 1 :(得分:0)

环境:

curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); 

它有效,因为:

  

CURLOPT_FOLLOWLOCATION TRUE跟随服务器作为HTTP标头的一部分发送的任何“Location:”标头(注意这是递归的,PHP将跟随它发送的“Location:”标头,除非设置了CURLOPT_MAXREDIRS)。

登录后,它将被重定向到网址中指定的页面。