Python URL请求

时间:2017-06-17 05:22:49

标签: python python-3.x http http-post http-method

首先让我说我是非常 Python的新手,但我熟悉其他编程语言。在深入研究这个项目之前,我需要问几个问题。

我需要能够直接从Python发出URL GET,PUT,POST和DELETE请求。

我将为这些函数的特定用例编写一个库,我不希望用户必须安装外部库(如“请求”)。

最好的方法是什么,urllib.request?

感谢您教育我。

1 个答案:

答案 0 :(得分:0)

  

我需要能够直接从Python发出URL GET,PUT,POST和DELETE请求。 ...这是最好的方法,urllib2?

由于urllib.request.urlopen()已硬连接到GET或POST,因此您需要http.client.HTTPConnection代替:

import http.client
import pprint

conn = http.client.HTTPConnection('www.jython.org')
c = conn.request('HEAD', '/index.html')
r = conn.getresponse()

pprint.pprint(r.getheaders())
print('Size of body:', len(r.read()))

这项技术让你“更接近金属”并提供更多控制,但它 失去了 urllib.request 及其各种高级服务(如以下重定向)的所有舒适。