【问题标题】:python equivalent for curl --interfacepython 等效于 curl --interface
【发布时间】:2015-01-22 01:54:36
【问题描述】:

以下 shell 命令的 python 等效项是什么: curl --interface 10.91.56.2 http://10.91.55.3/file0.txt
????

我正在使用 CentOS6.5-Linux,我想从 eth0:0、eth0:1、eth0:2 等虚拟 IP 地址与 eth0 同时发送 http 请求。我实际上是在尝试使用 python 制作一个流量生成器工具。我已成功发送多个并发 http 请求,现在我的下一步是从多个 IP 地址发送此类请求。我使用以下 cURL 命令从 eth0:1 发送请求“ curl--interface 10.91.56.2 http:/10.91 .55.3/file0.txt”,我成功地从虚拟 eth0:1 生成流量。谁能指导我如何使用python做到这一点? 10.91.56.2 是我的虚拟 eth0:1 IP 接口,10.91.55.3 是我的服务器地址... –

【问题讨论】:

    标签: python linux shell centos


    【解决方案1】:

    对于我来说,eth0 的 ip 是 10.91.56.3 而 eth0:1 的 ip 是 10.91.56.4 所以,使用 10.91.56.4(eth0:1) 产生流量

    @AKX 在此回复

    在第三类的上述答案中,写你的接口的 ip 而不是 127.0.0.1 例如,在我的情况下,我是这样做的:

    class BindableHTTPHandler(urllib2.HTTPHandler):
        def http_open(self, req):
            return self.do_open(BindableHTTPConnectionFactory('10.91.56.4'), req)
    

    【讨论】:

      【解决方案2】:

      Python Urllib2 为发出任何 HTTP 请求提供了完美的平台。在您的情况下,您可以使用 urlopen() 函数...

      关于这个库的更多信息可以在下面的链接中找到:

      how-to-use-urllib2-in-python

      【讨论】:

      • 但是urlopen不允许我使用虚拟接口发送http请求吧?
      猜你喜欢
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-09
      相关资源
      最近更新 更多