【问题标题】:IPV6 Curl POST requestIPV6 卷曲 POST 请求
【发布时间】:2022-04-16 18:05:56
【问题描述】:

在 IPV6 中如何使用 IPV6 地址和端口号构建 CURL POST http 请求。任何类型的线程都将受到赞赏。

尝试如下构建请求

>curl --interface 'http://[2001:0:db8:1111:0:0:0:11]:8091/?'

但上面给出的错误是“curl: NO URL specified”

>curl -X POST -d  curl -X POST `http://[2001:0:db8:1111:0:0:0:11]:8091/?`

然后尝试上面给出的错误为

>bash: http://[2001:0:db8:1111:0:0:0:11]:8091/?: No such file or directory
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information

除了使用 URL 之外,还有其他方法吗

【问题讨论】:

    标签: post curl ipv6


    【解决方案1】:
    curl -g -d post 'http://[2001:0:db8:1111:0:0:0:11]:8091/'
    

    当您使用 IPv6 地址时,-g 选项在“过去”是必要的。它阻止 curl 将 URL 中的 [] 符号视为 globbing 指令。 (自 curl 7.37.0(2014 年 5 月)以来,curl 不再将数字 IPv6 地址误认为是通配符,在这种情况下不再需要使用 -g

    -d 当然是用于发布的。您也可以加上 -v 以查看操作的详细信息。

    (不,当使用-d 时,-X POST 根本不应该在命令行中。)

    【讨论】:

    • 显然在 2018 年仍然需要​​ -g - curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.34 zlib/1.2.7 libidn/1.28 libssh2/1.4.3
    • 不,你的意思是你需要2013。我认为这符合“过去”的条件。
    • 而命令中的关键字'post'应该是大写的: curl -g -d POST 'http://[2001:0:db8:1111:0:0:0:11 ]:8091/'
    【解决方案2】:

    curl -4 用于 IPv4 请求和 IPv6 请求的curl -6 是您可以使用的参数。

    对于您的示例,这应该有效:

    curl -6 -d post 'http://2001:0:db8:1111:0:0:0:11:8091/'

    【讨论】:

      【解决方案3】:

      Windows 命令行:

      curl -X POST http://[fe80::a989:2147:5f46:a4f3%4]:58080/i2/xxx.php? -H "Content-Type:application/x-www-form-urlencoded" -d "language=xx&action=login_in&username=xxx&pd=xxxx&choose=0&remember=0&yanzheng=4778"


      -X, --request:与服务器通信的HTTP方法。

      -H, --header: 使用 POST 请求发送到服务器的 HTTP 标头。

      -d, --data:使用 POST 请求以键/值对的形式发送到服务器的数据。

      【讨论】:

        猜你喜欢
        • 2018-09-20
        • 2019-03-31
        • 2020-11-10
        • 1970-01-01
        • 2015-10-27
        • 2017-05-10
        • 2011-12-08
        • 1970-01-01
        • 2019-01-27
        相关资源
        最近更新 更多