小编MJW*_*MJW的帖子

cURL 返回 302,而浏览器返回 200

我有一个脚本,它使用大量 cURL 来登录站点并提交一系列表单,但是由于 cURL 请求返​​回 302 并重定向到块/端点页面,该脚本最近停止工作。如果我使用浏览器执行相同的操作,则不会出现重定向,只有 200 OK。

我的 cURL 使用登录过程返回的 cookie,因此我认为会话不会被删除。

我最初认为在给定重定向位置的情况下缺少 CSRF 令牌(某种),并且流程中的后续表单(使用浏览器)包含隐藏的 CSRF 令牌字段,但 URL 不需要发布数据。

cURL 和响应如下:

curl_setopt($ch, CURLOPT_URL, 'https://*******.********.co.uk/Dispatcher?menuid=pos_home'); 
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_HEADER, 0);
$content = curl_exec ($ch);
echo "CURL INFO : <BR/><pre>" ;
print_r(curl_getinfo($ch));
Run Code Online (Sandbox Code Playgroud)

返回:

Array
(
[url] => https://*******.********.co.uk/Dispatcher?menuid=pos_home
[content_type] => text/html
[http_code] => 302
[header_size] => 253
[request_size] => 332
[filetime] => -1
[ssl_verify_result] => 20
[redirect_count] => 0
[total_time] => 0.142718
[namelookup_time] => 2.4E-5
[connect_time] => 2.4E-5
[pretransfer_time] …
Run Code Online (Sandbox Code Playgroud)

php curl http-status-code-302

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

curl ×1

http-status-code-302 ×1

php ×1