dpi9530 2018-03-05 16:39
浏览 52

php CURL无法设置内容类型

I want to login the user when registration success. I'm using Symfony 3 with fos_user. This is the registration code:

$userManager = $this->get('fos_user.user_manager');
$user = $userManager->createUser();
$user->setUsername($username);
$user->setPlainPassword($password);
$user->setEmail($email);
$role = "ROLE_USER";
$user->setRoles(array($role));
$user->setEnabled(true);
$user->setName($name);
$userManager->updateUser($user);

Now im trying to login user with CURL like this:

//LOGIN THE USER 
$data = array(
      '_username' => $username,
      '_password' => $password,
      '_remember_me' => false
);
$url = $this->generateUrl('fos_user_security_check');
$ch = curl_init($url);
$postString = http_build_query($data, '', '&');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postString);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
        'Content-Type: application/x-www-form-urlencoded'
));
$response = curl_exec($ch);
curl_close($ch);

But this code don´t login the user and the /login_check action, returns me to /login page. enter image description here I try with "REST CLIENT" and I can login the user by setting content-type: application/x-www-form-urlencoded, but i think that CURL is not setting the content type because when I print "curl_getinfo($ch);" returns this:

[url] => http://192.168.1.100/web/app_dev.php/login_check
[content_type] => text/html; charset=UTF-8
[http_code] => 302
[header_size] => 401
[request_size] => 222
...

I comment "csrf_token_generator: security.csrf.token_manager" in "security.yml" to login without TOKEN. Can anyone help me?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 有了解d3和topogram.js库的吗?有偿请教
    • ¥100 任意维数的K均值聚类
    • ¥15 stamps做sbas-insar,时序沉降图怎么画
    • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
    • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
    • ¥15 关于#Java#的问题,如何解决?
    • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
    • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
    • ¥15 cmd cl 0x000007b
    • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line