Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Curl是否从Spotify Insights下载CSV?_Php_Csv_Curl_Libcurl_Spotify - Fatal编程技术网

Php Curl是否从Spotify Insights下载CSV?

Php Curl是否从Spotify Insights下载CSV?,php,csv,curl,libcurl,spotify,Php,Csv,Curl,Libcurl,Spotify,尝试从Spotify Fan Insights下载在浏览器设置下运行良好的CSV: https://artists.spotify.com/api/data/v1/artist/<URI>/timeline.csv https://artists.spotify.com/api/data/v1/artist//timeline.csv 然而,使用cURL获取数据的任何尝试都不会有结果。我知道URL需要一个身份验证令牌,我正在传递该令牌,但仍然没有结果。我尝试过传递cookie数据

尝试从Spotify Fan Insights下载在浏览器设置下运行良好的CSV:

https://artists.spotify.com/api/data/v1/artist/<URI>/timeline.csv
https://artists.spotify.com/api/data/v1/artist//timeline.csv
然而,使用cURL获取数据的任何尝试都不会有结果。我知道URL需要一个身份验证令牌,我正在传递该令牌,但仍然没有结果。我尝试过传递cookie数据、所有类型的头,以及介于两者之间的所有内容的组合

$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$path = "/tmp/spot_test.csv";
$fp = fopen($path, 'w+');
$cookie_file_path = "../../../../private/tmp/cookie.txt";

$ch=curl_init();
$url = "https://artists.spotify.com/api/data/v1/artist/<URI>/timeline.csv";
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,100);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);

$auth_header = "Authorization: Bearer ". $accessToken;

curl_setopt($ch, CURLOPT_HTTPHEADER, array($auth_header,'Content-type: application/csv','Content-Disposition: attachment; filename=spot_test.csv','Pragma: no-cache','Expires: 0'));

$resp = curl_exec($ch);
curl_close($ch);

if (empty($resp)){

echo "Nothing returned from url.<br />";

} else {

echo $resp;

}
$agent='Mozilla/4.0(兼容;MSIE 6.0;Windows NT 5.1;SV1;.NET CLR 1.0.3705;.NET CLR 1.1.4322)';
$path=“/tmp/spot_test.csv”;
$fp=fopen($path,'w+');
$cookie_file_path=“../../../../private/tmp/cookie.txt”;
$ch=curl_init();
$url=”https://artists.spotify.com/api/data/v1/artist//timeline.csv";
curl_setopt($ch,CURLOPT_文件,$fp);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
curl\u setopt($ch,CURLOPT\u COOKIEFILE,$cookie\u file\u path);
curl_setopt($ch,CURLOPT_URL,$URL);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,100);
curl_setopt($ch,CURLOPT_USERAGENT,$agent);
$auth_header=“授权:持有人”$accessToken;
curl_setopt($ch,CURLOPT_HTTPHEADER,array($auth_header,'Content-type:application/csv','Content-Disposition:attachment;filename=spot_test.csv','Pragma:no cache','Expires:0');
$resp=curl_exec($ch);
卷曲关闭($ch);
如果(空($resp)){
echo“没有从url返回任何内容。
”; }否则{ echo$resp; }

返回页面上的空文件&“1”。有什么想法吗?

CURLOPT\u RETURNTRANSFER
设置为true?尝试过了。它最初是在那里,用来代替用
fopen
&
CURLOPT_文件
写入文件。使用
RETURNTRANSFER
code返回
url未返回任何内容。