HTTP请求的格式
1)请求信息:例如“Get /index.php HTTP/1.1”,请求index.php文件
2)表头:例如“Host: localhost”,表示服务器地址
3)空白行
4)信息正文
“请求信息”和“表头”都必须使用换行字符(CRLF)来结尾,空白行只能包含换行符,不可以有其他空格符。
下面例子发送HTTP请求给服务器www.yhsafe.com
GET /index.php HTTP/1.1↙ //请求信息
Host:www.yhsafe.com↙ //表头
HTTP请求和响应的例子
打开cmd输入telnet,输入open www.00aq.com 80
打开连接后输入
GET /index.php HTTP/1.1↙
Host:www.00aq.com↙
返回的首页内容
使用PHP来发送HTTP请求
header函数可以用来发送HTTP请求和响应的表头 站长教学网 eduyo.com
函数原型
void header(string string [, bool replace [, int http_response_code]])
string是HTTP表头的字符串
如果replace为TRUE,表示要用目前的表头替换之前相似的表头;如果replace为FALSE,表示要使用多个相似的表头,默认值为TRUE
http_response_code用来强制HTTP响应码使用http_response_code的值
实例:
<?php
// 打开Internet socket连接
$fp = fsockopen(www.00aq.com, 80);
// 写入HTTP请求表头
fputs($fp, "GET / HTTP/1.1\r\n");
fputs($fp, "Host: www.00aq.com\r\n\r\n");
// HTTP响应的字符串
$http_response = "";
while (!feof($fp))
{
// 读取256位的HTTP响应字符串
$http_response .= fgets($fp, );
}
// 关闭Internet socket连接
fclose($fp);
// 显示HTTP响应信息
echo nl2br(htmlentities($http_response));
?>
(责任编辑:ken)