【问题标题】:How to duplicate a request using wget (or curl) with raw headers?如何使用带有原始标头的 wget(或 curl)复制请求?
【发布时间】:2011-10-01 04:27:42
【问题描述】:

我在调试一些http请求,发现我可以获取这种格式的请求头:

GET /download?123456:75b3c682a7c4db4cea19641b33bec446/document.docx HTTP/1.1
Host: www.site.com
User-Agent: Mozilla/5.0 Gecko/2010 Firefox/5
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Referer: http://www.site.com/dc/517870b8cc7
Cookie: lang=us; reg=1787081http%3A%2F%2Fwww.site.com%2Fdc%2F517870b8cc7

使用 wget 或 curl(或其他 CLI 工具)是否有可能或有一种简单的方法来重建该请求?

通过阅读 wget 手册页,我知道我可以单独设置其中的一些内容,但是有没有更简单的方法可以从命令行发送包含所有这些变量的请求?

【问题讨论】:

    标签: linux debugging unix wget web


    【解决方案1】:

    是的,您只需使用--header 组合所有标题

    wget --header="User-Agent: Mozilla/5.0 Gecko/2010 Firefox/5" \
    --header="Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" \
    --header="Accept-Language: en-us,en;q=0.5" \
    --header="Accept-Encoding: gzip, deflate"
    --header="Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" \
    --header="Cookie: lang=us; reg=1787081http%3A%2F%2Fwww.site.com%2Fdc%2F517870b8cc7" \
    --referer=http://www.site.com/dc/517870b8cc7
    http://www.site.com/download?123456:75b3c682a7c4db4cea19641b33bec446/document.docx
    

    如果您尝试进行非法下载,
    它可能会失败,
    这取决于托管 URL 的编程方式

    【讨论】:

    • 效果很好。这也可以使用 CURL 吗?
    【解决方案2】:

    这里是curl版本:

    curl http://www.example.com/download?123456:75b3c682a7c4db4cea19641b33bec446/document.docx \
    -H "User-Agent: Mozilla/5.0 Gecko/2010 Firefox/5" \
    -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" \
    -H "Accept-Language: en-us,en;q=0.5" \
    -H "Accept-Encoding: gzip, deflate"
    -H "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" \
    -H "Cookie: lang=us; reg=1787081http%3A%2F%2Fwww.site.com%2Fdc%2F517870b8cc7" \
    -H "Referer: http://www.example.com/dc/517870b8cc7"
    

    在 Chrome 开发者工具中,您可以使用 Copy as cURL 将请求捕获为curl

    【讨论】:

    • 有没有办法指定标题的顺序? (对于一些奇怪的用例很重要)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 2016-11-10
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 2020-01-02
    相关资源
    最近更新 更多