CURL-PHP出现错误500

CURL-PHP出现错误500,php,curl,Php,Curl,我已经编写了一个PHP脚本,可以对我进行身份验证,并返回一个带有票证的URL:www.example.com/login?ticket=xxxx 当我在导航器中输入这个URL时,我的工作非常完美。执行此操作时,检查已发送的HTTP标头确认不需要POST变量,也不发送cookie 当通过CURL发送完全相同的HTTP头时,我不断收到一个500错误,描述如下: --cas:authenticationFailure code='INVALID\u票证'-- 但是,如果票证在导航器中完美工作,则票证本

我已经编写了一个PHP脚本,可以对我进行身份验证,并返回一个带有票证的URL:www.example.com/login?ticket=xxxx

当我在导航器中输入这个URL时,我的工作非常完美。执行此操作时,检查已发送的HTTP标头确认不需要POST变量,也不发送cookie

当通过CURL发送完全相同的HTTP头时,我不断收到一个500错误,描述如下:

--cas:authenticationFailure code='INVALID\u票证'--

但是,如果票证在导航器中完美工作,则票证本身不能无效

CURL的配置如下所示:

curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, false);

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_COOKIESESSION, 0);

curl_setopt ($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11');

提前感谢您在这方面的帮助。

对此主题不太清楚,但门票是否特定于IP?如果脚本在服务器上运行,而您的浏览器没有运行,这会使PHP CURL脚本的票证无效吗?您可以尝试使用代理记录工具(如Fiddler)比较导航器发出的请求和CURL发出的请求吗?这将很快决定差异是什么。理论上,如果两个web请求的字节完全相同,则远程服务器无法分辨差异,因此这两个请求必须有不同之处,例如标头、cookie等。您确定没有发送先前记录的cookie并使请求正常工作吗?确定没有发送cookie。IP是一个好主意,但可能不是这里的问题,因为脚本在本地运行(wamp)。完整的标题是:GET/Login?ticket=xxx HTTP/1.1主机:ent.example.com连接:keep alive用户代理:Mozilla/5.0(Windows NT 6.1)AppleWebKit/537.11(KHTML,类似Gecko)Chrome/23.0.1271.64 Safari/537.11接受:text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8接受编码:gzip,deflate,sdch接受语言:fr,fr;q=0.8,在美国;q=0.6,en;q=0.4接受字符集:ISO-8859-1,utf-8;q=0.7,*;q=0.3更准确地说:我可以在专用的CURL脚本中生成一个票证。如果我在领航员中使用这张票,它确实有效。如果我在一个简单的CURL脚本(上面)中使用它,它就会失败。