1
想知道是否有人可以推斷以下之間的區別?另外爲什麼你會用另一個呢?這些python web服務器請求有什麼區別?
urllib.request.urlopen
urllib.request.Request
HTTPConnection.request
我正在使用python 3.2。我想了解如何在網絡中使用python,但文檔對解釋事物沒有幫助。
想知道是否有人可以推斷以下之間的區別?另外爲什麼你會用另一個呢?這些python web服務器請求有什麼區別?
urllib.request.urlopen
urllib.request.Request
HTTPConnection.request
我正在使用python 3.2。我想了解如何在網絡中使用python,但文檔對解釋事物沒有幫助。
urllib.request.urlopen向服務器發送請求並返回結果。這通常是您請求的文件/網站。所以,下面的代碼將打印請求文件的內容:
import urllib.request
r = urllib.request.urlopen('http://example.com/some_file.stuff')
print(r.read())
但urllib.request.Request只是表示將被髮送到服務器,以獲得您想要的數據的數據。因此,上面的示例可以重寫爲:
import urllib.request
req = urllib.request.Request('http://example.com/some_file.stuff')
r = urllib.request.urlopen(req)
print(r.read())
HTTPConnection做了一些不同的事情。它只是連接到服務器,然後讓你負責完成剩下的任務(無論你想在服務器上做什麼,請求文件等),而不需要請求特定的文件。 urlopen會打開並提取您請求的文件。所以HTTPConnection更通用,但在大多數情況下,urllib.request.urlopen應該足夠了。