如何解决如何在PHP中使用详细模式调用curl?
假设我这样称呼我的后端:
curl -v http://dev.testapi.com/login -H 'User-Agent: Android'
响应为:
* issuer: C=US; O=DigiCert Inc; OU=www.digicert.com; CN=DigiCert SHA2 Extended Validation Server CA
* SSL certificate verify ok.
* TLSv1.3 (OUT),TLS app data,[no content] (0):
> GET /login HTTP/1.1
> Host: dev.testapi.com
> Accept: */*
> User-Agent: Android
>
* TLSv1.3 (IN),TLS handshake,[no content] (0):
* TLSv1.3 (IN),Newsession Ticket (4):
* TLSv1.3 (IN),[no content] (0):
< HTTP/1.1 200 OK
< X-XSRF-TOKEN: ebd847nb-1922-3f17-8mad-209873
< Expires: 0
< X-XSS-Protection: 1; mode=block
< X-CSRF-HEADER: X-XSRF-TOKEN
< Set-Cookie: JSESSIONID=pTgM0I9NHfX8hkaYSAVMkx5syej6jcOI46FWKDmRF5Mey5V5wc1eBD5HX5yo.ZmQfZG9tYWluL2NnbvRhW5lFF9=; Path=/; HttpOnly
< Cache-Control: no-cache,no-store,max-age=0,must-revalidate
< Pragma: no-cache
< X-Content-Type-Options: nosniff
< x-frame-options: DENY
< Strict-Transport-Security: max-age=31536000 ; includeSubDomains
< Date: Wed,12 Aug 2020 02:25:33 GMT
< X-CSRF-ParaM: _csrf
< Content-Type: application/json;charset=UTF-8
< transfer-encoding: chunked
<
* TLSv1.3 (IN),[no content] (0):
* Connection #0 to host dev.testapi.com left intact
{"success":true,"message":null,"jres":null,"redirectUrl":"","trscDt":null,"trscTm":null}
在底部,您可以看到一个JSON对象,指示响应成功。您还可以看到X-XSRF-TOKEN
和Set-Cookie
的值,它们分别是 ebd847nb-1922-3f17-8mad-209873 和 JSESSIONID = pTgM0I9NHfX8hkaYSAVMkx5syej6jcOI46FWKDmRF5Mey5V5wcZeZ5Y9Y5Y5Y9Y5Y5Y5Y5Y5Y2路径= /; HttpOnly 。
我正在尝试使用PHP执行相同的操作:
<?PHP
$cookie= "C:\\xampp\\htdocs\\testapp\\cookie.txt";
$fff = fopen('C:\\xampp\\htdocs\\testapp\\request.txt','w');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,"https://dev.testapi.com/login");
curl_setopt($ch,CURLOPT_USERAGENT,"Android");
curl_setopt($ch,CURLINFO_HEADER_OUT,true);
curl_setopt($ch,CURLOPT_COOKIEJAR,$cookie);
curl_setopt($ch,CURLOPT_COOKIEFILE,CURLOPT_VERBOSE,CURLOPT_STDERR,$fff);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$out = curl_exec($ch);
//$@R_495_4045@ion = curl_getinfo($ch);
//echo $out;
//var_dump($@R_495_4045@ion);
echo $out;
?>
如何获取X-XSRF-TOKEN
的值?我知道Set-Cookie
的值存储在cookie.txt中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。