這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么在Python中使用指定的端口發(fā)送http請求,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
使用requests庫
class SourcePortAdapter(HTTPAdapter): """"Transport adapter" that allows us to set the source port.""" def __init__(self, port, *args, **kwargs): self.poolmanager = None self._source_port = port super().__init__(*args, **kwargs) def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK, **pool_kwargs): self.poolmanager = PoolManager( num_pools=connections, maxsize=maxsize, block=block, source_address=('', self._source_port)) s = requests.Session() s.mount('https://baidu.com', SourcePortAdapter(54321)) s.get('https://baidu.com')
我用wireshark測試發(fā)現(xiàn)是走的54321端口。
使用pycurl庫
c = pycurl.Curl() c.setopt(c.URL, 'https://curl.haxx.se/dev/') c.setopt(c.LOCALPORT, 54321) c.setopt(c.LOCALPORTRANGE, [52314,56321,5532]) c.perform() c.close()
測試OK,可以直接在curl命令行中測試。
curl --local-port 12520 http://baidu.com
上述就是小編為大家分享的怎么在Python中使用指定的端口發(fā)送http請求了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。