怎么指定一个python进程/线程中网络活动使用的IP

发布于 2022-09-03 14:10:13 字数 342 浏览 14 评论 0

一台linux服务器有3个IP,在上面跑爬虫,怎么指定某个进程甚至某个线程走某个特定ip的网络接口,还是不用关心这个,python程序会随机地使用不同的网络接口呢?

只有问题,没有解决方案,所以暂无代码。

从一个相近的问题看到"socket.bind("xxx.xxx.xxx.xx", 0)"的办法,看来可以解决我的问题,不过在用urllib2或者requests获取网页的情况下,只要确保调用前通过bind方法绑定了某个IP就可以吗?
如果想让程序随机、轮换着使用网络接口,是不是用"socket.bind("xxx.xxx.xxx.xx", 0)"就可以了?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

为你拒绝所有暧昧 2022-09-10 14:10:13

如果没有显式绑定某个IP的话,最终源地址使用哪个IP由路由决定。
如果显式绑定IP确实可以解决你的问题,不过在不改动库代码的情况下,要让urllib2或者requests使用创建(并且绑定)好的socket也不太容易。
下面是如何让requests使用创建好的socket的文章:http://stackoverflow.com/ques...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文