Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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
使用cURL获取CSV或使用File Get conent发送post值_Post_Csv_Curl - Fatal编程技术网

使用cURL获取CSV或使用File Get conent发送post值

使用cURL获取CSV或使用File Get conent发送post值,post,csv,curl,Post,Csv,Curl,我对cURL有一个问题(我也试过使用file get content?)。 我的起点是一个向我提供CSV文件的Web服务器。 要获取CSV文件,我必须向其发布一些数据(登录详细信息) 我已经有了以下脚本: $url ='https://services.easyposonline.nl/i-shop/services/exporter/csv/artikelen.csv'; $httpRequest = curl_init(); curl_setopt($httpRequest, CURLOP

我对cURL有一个问题(我也试过使用file get content?)。 我的起点是一个向我提供CSV文件的Web服务器。 要获取CSV文件,我必须向其发布一些数据(登录详细信息)

我已经有了以下脚本:

$url ='https://services.easyposonline.nl/i-shop/services/exporter/csv/artikelen.csv';
$httpRequest = curl_init();

curl_setopt($httpRequest, CURLOPT_RETURNTRANSFER, true);
curl_setopt($httpRequest, CURLOPT_HTTPHEADER, array("Content-Type: text/csv"));
curl_setopt($httpRequest, CURLOPT_POST, true);
curl_setopt($httpRequest, CURLOPT_HEADER, true);

curl_setopt($httpRequest, CURLOPT_URL, $url);
curl_setopt($httpRequest, CURLOPT_POSTFIELDS, $data);

$returnHeader = curl_exec($httpRequest);
print_r($returnHeader);
curl_close($httpRequest);
$data
中有我的帖子登录详细信息

在发布此信息时,我会将其取回:

HTTP/1.1 100 Continue HTTP/1.1 200 OK Date: Wed, 11 Dec 2013 09:15:30 GMT Server: Apache X-Powered-By: PHP/5.4.21 Set-Cookie: PHPSESSID=rqse865bstv22vn9rdaefqvfg3; path=/ Expires: Thu, 19 Nov 1981 08:52:00 GMT Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache x-epsw-login: ok x-epsw-server: iepsw,version=V1.12.3.120911,user=ep_5757,app=i-shop,appid= Transfer-Encoding: chunked Content-Type: text/plain ||||||||||||||||| 4000270017|00800|4-20* Toilettasje|4-20* Toilettasje|0|Berba|4-020||00|1|4000|0|||v000270.jpg|4|19990929| 4000270025|00800|4-20* Toilettasje|4-20* Toilettasje|0|Berba|4-020||01|1|4000|0|||v000270.jpg|0|19990929| 4000270033|00800|4-20* Toilettasje|4-20* Toilettasje|0|Berba|4-020||02|1|4000|0|||v000270.jpg|0|19990929| 4000270041|00800|4-20* Toilettasje|4-20* Toilettasje|0|Berba|4-020||30|1|4000|0|||v000270.jpg|0|19990929| 4000270059|00800|4-20* Toilettasje|4-20* Toilettasje|0|Berba|4-020||06|1|4000|0|||v000270.jpg|0|19990929| 4000270067|00800|4-20* Toilettasje|4-20* Toilettasje|0|Berba|4-020||07|1|4000|0|||v000270.jpg|2|19990929| 4000270075|00800|4-20* Toilettasje|4-20* Toilettasje|0|Berba|4-020||15|1|4000|0|||v000270.jpg|0|19990929| 4000270083|00800|4-20* Toilettasje|4-20* Toilettasje|0|Berba|4-020||16|1|4000|0|||v000270.jpg|0|19990929| 4000270091|00800|4-20* Toilettasje|4-20* Toilettasje|0|Berba|4-020||17|1|4000|0|||v000270.jpg|0|19990929| 


如何将网页检索为有效的CSV mimetype文件?

您可以使用不需要验证的curl下载文件吗?您也可以在此处查看:我无法下载文件,我需要验证您是否尝试创建两个curl请求?第一个用于登录,第二个用于下载。你可以使用cookie信息。我在之前的评论中共享了一个链接。您可以使用不需要身份验证的curl下载文件吗?您也可以在此处查看:我无法下载文件,我需要身份验证。您是否尝试创建两个curl请求?第一个用于登录,第二个用于下载。你可以使用cookie信息。我在之前的评论中共享了一个链接。您可以使用不需要身份验证的curl下载文件吗?您也可以在此处查看:我无法下载文件,我需要身份验证。您是否尝试创建两个curl请求?第一个用于登录,第二个用于下载。你可以使用cookie信息。我在之前的评论中共享了一个链接。您可以使用不需要身份验证的curl下载文件吗?您也可以在此处查看:我无法下载文件,我需要身份验证。您是否尝试创建两个curl请求?第一个用于登录,第二个用于下载。你可以使用cookie信息。我在之前的评论中分享了一个链接。谢谢你的回答,它就像一个符咒:)现在我有了我的CSV文件!你是我个人心目中的英雄谢谢你的回答它就像一个符咒:)现在我有了我的CSV文件!你是我个人心目中的英雄谢谢你的回答它就像一个符咒:)现在我有了我的CSV文件!你是我个人心目中的英雄谢谢你的回答它就像一个符咒:)现在我有了我的CSV文件!你是我心目中的英雄
<?php


$cookie_file_path = "downloads/cookie.txt";
$fp = fopen($cookie_file_path, "w");
fclose($fp);

$loginUrl = '/url/to/log in to site';
$downloadUrl = '/path/to/ csv file';

$loginPostInfo = array(
    // data that need to be posted
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_NOBODY, false);
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);

curl_setopt($ch, CURLOPT_COOKIEJAR,  $cookie_file_path);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file_path);


curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $loginPostInfo);
curl_exec($ch);

// now curl request for download file
$filePath = "downloads/foo.csv";
$file = fopen($filePath, "w+");

curl_setopt($ch, CURLOPT_URL, $downloadUrl);
curl_setopt($ch, CURLOPT_FILE, $file);
$result = curl_exec($ch);

fclose($file);
curl_close($ch);