deadprogrammer Asked: 2009-05-22 14:07:57 +0800 CST2009-05-22 14:07:57 +0800 CST 2009-05-22 14:07:57 +0800 CST 检查 shell 脚本中的 http 标头 772 如何编写向网页发送 get 请求并返回格式良好的 http 标头的脚本? scripting http shell 6 个回答 Voted Zoredache 2009-05-22T14:36:13+08:002009-05-22T14:36:13+08:00 一种选择可能是将curl与 --dump-header 选项一起使用。 Dave K 2009-05-22T14:20:32+08:002009-05-22T14:20:32+08:00 有许多不同语言的模块可以为您检索 HTTP 标头。 Python - urllib2 Perl - LWP::简单 等等等等 Best Answer pQd 2009-05-22T14:23:47+08:002009-05-22T14:23:47+08:00 试试这个讨厌的 hack: wget -O - -o /dev/null --save-headers http://google.com | \ awk 'BEGIN{skip=0}{ if (($0)=="\r") {skip=1;}; if (skip==0) print $0 }' Amandasaurus 2009-06-12T04:07:57+08:002009-06-12T04:07:57+08:00 curl 支持在下载时查看标题,或者您可以使用-I选项将标题保存到文件中。 Chathuranga Chandrasekara 2009-05-23T01:51:26+08:002009-05-23T01:51:26+08:00 如果您只想查看标头..(不是以编程方式)只需使用 mozilla firefox 的 [live http headers][1] 插件。 https://addons.mozilla.org/en-US/firefox/addon/3829 hayalci 2009-06-12T05:22:51+08:002009-06-12T05:22:51+08:00 这个 bash 函数将采用 URL + 方法,或服务器 + 路径 + 方法 + 端口。如果您使用“HEAD”方法,它将返回标头,如果您使用 GET,它将返回所有标头和整个回复。通过 openssl 支持 https。 #!/bin/bash function httpreq () { if [ $# -eq 0 ]; then echo -e "httpreq SERVER PATH [GET/HEAD] [PORT]\nOR\nhttpreq URL [GET/HEAD]"; return 1; fi if echo $1 | grep -q "://" then SUNUCU=$(echo $1 |cut -d '/' -f3 | cut -d':' -f1) YOL=/$(echo $1 |cut -d '/' -f4-) PROTO=$(echo $1 |cut -d '/' -f1) METHOD=${2:-GET} PORT=$(echo $1| sed -n 's&^.*://.*:\([[:digit:]]*\)/.*&\1&p') if [ -z $PORT ] then if [ $PROTO == "https:" ]; then PORT=443; else PORT=80; fi fi else SUNUCU=$1 YOL=$2 METHOD=${3:-GET} PORT=${4:-80} fi if [ $PROTO == "https:" ]; then echo -e "$METHOD $YOL HTTP/1.1\r\nHOST:$SUNUCU\r\n\r\n" | openssl s_client -quiet -connect $SUNUCU:$PORT else echo -e "$METHOD $YOL HTTP/1.1\r\nHOST:$SUNUCU\r\n\r\n" | nc $SUNUCU $PORT fi }
一种选择可能是将curl与 --dump-header 选项一起使用。
有许多不同语言的模块可以为您检索 HTTP 标头。
等等等等
试试这个讨厌的 hack:
curl 支持在下载时查看标题,或者您可以使用
-I
选项将标题保存到文件中。如果您只想查看标头..(不是以编程方式)只需使用 mozilla firefox 的 [live http headers][1] 插件。
https://addons.mozilla.org/en-US/firefox/addon/3829
这个 bash 函数将采用 URL + 方法,或服务器 + 路径 + 方法 + 端口。如果您使用“HEAD”方法,它将返回标头,如果您使用 GET,它将返回所有标头和整个回复。通过 openssl 支持 https。