【问题标题】:Curl to Laravel results in redirect卷曲到 Laravel 导致重定向
【发布时间】:2014-02-15 21:36:18
【问题描述】:

当我向我的 Laravel 路由发出 cURL 请求时,它并没有仅仅返回进程的内容,而是将我重定向到主页,返回这个 HTML

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <meta http-equiv="refresh" content="1;url=http://erm.gratuz.net.com/api/requesthandler" />
  <title>Redirecting to http://erm.gratuz.net.com/api/requesthandler</title>
 </head>
 <body>
        Redirecting to <a href="http://erm.gratuz.net.com/api/requesthandler">http://erm.gratuz.net.com/api/requesthandler</a>.
 </body>
</html>

我的 cURL 请求如下:

$url =  "http://erm.gratuz.net.com/api/requesthandler/";
$session = curl_init( $url );
curl_setopt( $session, CURLOPT_HEADER, 0 );
curl_setopt( $session, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $session, CURLOPT_POSTFIELDS,$fields );
$response = curl_exec( $session );
curl_close( $session ); 

以下也是接受post的路线

Route::any('/api/requesthandler', 'TestController@requesthandler');

感谢任何帮助。

【问题讨论】:

  • 遇到同样的问题 - 想知道您是否知道发生了什么?
  • 不幸的是,我没有 - 我将我的 curl 请求指向了一个不受 Laravel 控制的页面。

标签: php curl laravel-4 laravel-5.2


【解决方案1】:

尝试在你的 laravel 项目中禁用 http_only 文件:session.php

http_only =&gt; false,

【讨论】:

    【解决方案2】:

    我在使用 Laravel 5.2 时遇到了这个问题。就我而言,这是因为TokenMismatchException 而发生的。将特定路由添加到 CSRF 验证异常列表解决了我的问题。

    在app/Http/Middleware/VerifyCsrfToken.php

    protected $except = [
        'your route here'
    ];
    

    【讨论】:

      【解决方案3】:

      如果你使用的话,你可以在你的 curl 中跟踪最多 5 层的重定向:

      curl_setopt($session, CURLOPT_FOLLOWLOCATION, true); 
      

      然后,如果您 curl 重定向的页面,您的 curl 将从它重定向到的页面返回数据,而不是您当前看到的数据。

      【讨论】:

      • 当我这样做时,我最终会进入我的 Laravel 设置的主页
      • 听起来像是一个 .htaccess 重定向问题或一些内部重定向,它试图将您的数据加载到模板中,而不仅仅是提供 JSON 字符串。我对 Laravel 不熟悉,我建议您更改您的网址,使其不具有 Artemis 建议的斜杠,看看是否可行。如果这不起作用,请查看是否需要设置一些 GET 变量来获取未加载到模板中的原始数据。
      【解决方案4】:

      重定向会将您带到 http://erm.gratuz.net.com/api/requesthandler,但您的 cURL 调用将转到 http://erm.gratuz.net.com/api/requesthandler/ - 我假设重定向是 Laravel 剥离尾部斜杠。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-31
      • 2015-11-09
      • 2012-11-01
      • 1970-01-01
      • 2019-11-10
      • 2012-04-23
      • 2021-06-15
      相关资源
      最近更新 更多