簡體   English   中英

從urllib2獲取傳出端口號

[英]Get outgoing port number from urllib2

我使用Python 2.6.x和urllib2進行一些Web抓取,但我需要每個HTTP請求真正的低級套接字信息(實際上只是本地套接字的端口號)。 有誰知道怎么做到這一點?

謝謝

編輯:

好吧,我仍然試圖做到這一點,所以我做了我認為應該工作但我在嘗試使用新東西時沒有得到輸出。 我在這做錯了什么?

from urllib2 import *

class AbstractHTTPHandler(AbstractHTTPHandler):

    def do_open(self, http_class, req):
        """
          ...copy docstring...
        """
        print "woot!"
        ...copy code from urllib2.AbstractHTTPHandler.do_open...

urllib2可以在不同的URL方案上運行,這些方案甚至可能沒有套接字的概念。 而是使用http.client未記錄的 sock屬性:

try:
    from http.client import HTTPConnection
except ImportError: # Python<3
    from httplib import HTTPConnection

h = HTTPConnection('example.net', 80)
h.request('GET', '/')
print('Local port: ' + str(h.sock.getsockname()[1]))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM