如何使用python发送包含头文件的GET请求

时间:2013-04-26 10:00:02

标签: python api curl urllib2

我正在尝试使用web.py构建一个网站,该网站能够搜索mobile.de数据库(mobile.de是德国汽车销售网站)。为此,我需要使用mobile.de API并向其发出GET请求,执行以下操作(这是the API docs中的示例):

GET /1.0.0/ad/search?exteriorColor=BLACK&modificationTime.min=2012-05-04T18:13:51.0Z HTTP/1.0
Host: services.mobile.de
Authorization: QWxhZGluOnNlc2FtIG9wZW4=
Accept: application/xml

(授权需要是我的用户名和密码,使用冒号连接在一起,然后使用Base64进行编码。)

所以我使用urllib2来执行请求,如下所示:

>>> import base64
>>> import urllib2
>>> headers = {'Authorization':  base64.b64encode('myusername:mypassw'), 'Accept': 'application/xml'}
>>> req = urllib2.Request('http://services.mobile.de/1.0.0/ad/search?exteriorColor=BLACK', headers=headers)

从这里我不确定如何继续。 req似乎是一个实例,其中包含一些获取信息的方法。但它确实发送了请求吗?如果是这样,我在哪里可以获得回复?

欢迎所有提示!

1 个答案:

答案 0 :(得分:3)

您需要致电req.read()来调用网址并获得回复。

但是你最好使用requests库,这样更容易使用。