在python中,向ipv6链接本地地址发出get请求

时间:2014-07-03 02:34:15

标签: python networking

是否有标准方法使用任何标准python库向URL发出HTTP GET请求,主要警告主机地址是ipv6链接本地地址(重点强调" link-local&# 34)?运行服务器的目标机器除了包含mac地址的原始链路本地IP地址之外没有任何IP地址(因此只能通过类似" fe80 :::的地址来访问它。 %eth0"其中"%eth0"是客户端上与服务器共享广播域的网络接口。)

1 个答案:

答案 0 :(得分:1)

您可以使用Twisted's HTTP client API执行此操作:

from __future__ import print_function

from sys import argv

from twisted.internet.endpoints import TCP6ClientEndpoint
from twisted.web.client import ProxyAgent
from twisted.internet.task import react

def main(reactor, address, uri):
    server = TCP6ClientEndpoint(reactor, address, 80)
    agent = ProxyAgent(server, reactor)
    getting = agent.request(b"GET", uri)
    def got(response):
        print("Got {}".format(response.code))
    getting.addCallback(got)
    return getting

if __name__ == "__main__":
    react(main, argv[1:])

例如:

$ python http-proxy-get.py ::1 http://example.com/
Got 200
$