Кажется, не может загрузиться CSV с использованием PHP Curl, когда ответ является содержимым: вложение

Я пытаюсь загрузить CSV-файл из URL с помощью PHP Curl, но ответ Curl – это HTML-страница, а не CSV. Как это исправить?

Я пробовал сопоставить рефератора и агента-пользователя.

Благодаря!

Вот рабочий запрос в firefox:

GET [someURL] HTTP/1.1 Host: [someHost] User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 115 Connection: keep-alive Referer: [someReferer] Cookie: [some cookie data, including jsession] 

и вот ответ:

 HTTP/1.1 200 OK Content-Type: text/csv Date: Sun, 05 Jun 2011 00:33:21 GMT Expires: Sun, 05 Jun 2011 00:34:21 GMT Content-Disposition: attachment; filename=[some file name.csv] Connection: Keep-Alive Last-Modified: Sun, 05 Jun 2011 00:33:21 GMT X-Powered-By: Servlet/2.5 JSP/2.1 Content-Length: 5012 

Related of "Кажется, не может загрузиться CSV с использованием PHP Curl, когда ответ является содержимым: вложение"

Я думаю, что этот вариант, который вы ищете, – J :

Из http://curl.haxx.se/docs/manpage.html#-J :

-J, –remote-header-name

(HTTP) Этот параметр указывает опции -O, –remote-name использовать имя файла Content-Disposition, указанное сервером, вместо того, чтобы извлекать имя файла из URL-адреса.

Попробуйте использовать curl -L -O http://example.com/filename.csv

Это капитал o, а не ноль. Это говорит завиток, чтобы следовать любым переадресациям и использовать имя файла из заголовка content-disposition .