2015-05-14 59 views
0

我是python的新手,尝试示例请求和响应。目前指的是documentation。我想要得到一个pdf回应并将其写入我的本地目录。尝试卷曲到this并返回流,但使用返回的请求404。该页面不需要任何会话,因此称为requests.get(url)。我是否错过了这个?Python请求返回404,而curl返回pdf流

回答

2

的Web服务器是允许卷曲的用户代理,但阻止请求用途之一:

In [7]: import requests 

In [8]: url = 'http://www.analysis.im/uploads/seminar/pdf-sample.pdf' 

In [9]: requests.get(url) 
Out[9]: <Response [404]> 

In [10]: requests.get(url, headers={'User-Agent': 'firefox'}) 
Out[10]: <Response [200]> 
+0

可以使用请求指定用户代理头以为 –

+0

@DavidD:是的,但默认的(对我来说)是'python-requests/2.6.0 CPython/2.7.9 Darwin/14.3.0'。网络服务器不喜欢它。 – Blender