时间:2021-05-22
使用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测试发现是走的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参考
https://stackoverflow.com/questions/47202790/python-requests-how-to-specify-port-for-outgoing-traffic?rq=1
以上这篇Python使用指定端口进行http请求的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
80vCenterServer需要端口80用于直接HTTP连接。端口80会将请求重定向到HTTPS端口443。如果意外使用了http://server而不是ht
当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求),全部都重定向至HTTPS(即端口443)。这时候你可以用以下的方式来做到:(
详解Http请求中Content-Type讲解以及在SpringMVC中的应用引言:在Http请求中,我们每天都在使用Content-type来指定不同格式的请
对python网页请求模块urllib2进行简单的封装。例子:复制代码代码如下:#!/usr/bin/python#coding:utf-8importbase
c#中通常使用HttpWebRequest进行HTTP网络请求,HttpWebRequest只对Http请求进行了最简单的封装。如果要利用Http协议实现多文件