客户端希望我们通过instead交付内容,他们使用cURL来获取提要内容,但是他们说他们得到了一个404错误。我已经在终端中尝试了以下命令:$ curl -g --compressed http://mediosymedia.com/wp-content/plugins/nextgen-gallery/xml/media-rss.php > temp.xml,正如客户端所说,我得到的是404页,而不是提要。当我在浏览器中输入URI时,它会显示提要,没有问题。
我无法更改客户端应用程序中的任何内容,因此,如何确保他们获得提要而不是404错误?
谢谢!
发布于 2014-03-04 08:15:56
实际上,curl返回一个404状态页:
$ curl -g --compressed http://mediosymedia.com/wp-content/plugins/nextgen-gallery/xml/media-rss.php -s -o /dev/null -D-
HTTP/1.1 **404 Not Found**
Date: Tue, 04 Mar 2014 08:12:27 GMT
Server: Apache
X-Pingback: http://mediosymedia.com/xmlrpc.php
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8 许多for服务器会对没有浏览器User-Agent的请求产生怀疑,因为它们希望curl被用于抓取。这可能不是最聪明的技术,因为简单的UserAgent欺骗将解决这个问题:
$ curl -g --compressed http://mediosymedia.com/wp-content/plugins/nextgen-gallery/xml/media-rss.php -s -o /dev/null -D- -H'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:27.0) Gecko/20100101 Firefox/27.0'
HTTP/1.1 **200 OK**
Date: Tue, 04 Mar 2014 08:13:46 GMT
Server: Apache
Expires: Wed, 11 Jan 1984 05:00:00 GMT
Cache-Control: no-cache, must-revalidate, max-age=0
Pragma: no-cache
Transfer-Encoding: chunked
Content-Type: text/xml;charset=utf-8因此,在实践中,确保您为您的请求设置了一个用户代理,而不是Curl的。
发布于 2014-03-04 00:32:35
我最初的想法是,这可能与cookie有关(请参阅this question),但这可能是一个本地化问题。我的机器运转得很好:
[root@devtest tmp]# curl -g --compressed http://mediosymedia.com/wp-content/plug
ins/nextgen-gallery/xml/media-rss.php > temp.xml
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 27926 0 27926 0 0 54564 0 --:--:-- --:--:-- --:--:-- 69815更正:
感谢Julien指出下载文件的内容是自定义404页内容。正如他所提到的,您需要在您的-A请求中添加一个useragent标志(useragent标志):
# curl -A "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1
; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12"-g --compressed http://medio
symedia.com/wp-content/plugins/nextgen-gallery/xml/media-rss.php > temp.xml我只想删除我的答案,但这值得留待其他可能正经历这个问题的人--确保您验证了响应!
https://stackoverflow.com/questions/22160399
复制相似问题