代码之家  ›  专栏  ›  技术社区  ›  Rob

尝试使用PHP的cURL扩展登录站点

  •  0
  • Rob  · 技术社区  · 15 年前

    例如:

    它成功地登录到 http://example.com/login.php

    但我的浏览器会转到 http://mysite.com/site.php?page=loggedin

    我只希望它返回页面的内容,而不是被重定向到它。

    按照要求,这是我的密码

    // create curl resource 
    $ch = curl_init(); 
    
    // set url 
    curl_setopt($ch, CURLOPT_URL, $loginURL); 
    
    //Some setopts
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_FOLLOWREDIRECT, FALSE);
    curl_setopt($ch, CURLOPT_REFERRER, $referrer);
    
    // $output contains the output string 
    $output = curl_exec($ch); 
    
    // close curl resource to free up system resources 
    curl_close($ch);
    
    echo $output;   
    
    3 回复  |  直到 15 年前
        1
  •  1
  •   Rob    15 年前

    删除了 echo $output;

    谢谢大家。

        2
  •  0
  •   Josh K    15 年前

    使用cURL,您必须找到重定向并遵循它,然后返回该页的内容。我不知道为什么你的浏览器会重定向,除非你有一些奇怪的头代码,你从登录页返回。

        3
  •  0
  •   Maulik Vora    15 年前

    CURLOPT_FOLLOWLOCATION 错误的。

    curl_setopt($ch , CURLOPT_FOLLOWLOCATION , FALSE);
    

    推荐文章