模拟http响应头

1.打开需要模拟的页面请求头

2.编码要发送的数据

3.通过fsockopen函数发送请求头

代码如下

//方法二
$URL="http://device.test.com/admin/manager/add";
$post_data[‘account‘] = "test06";
$post_data[‘password‘] = "test06";
$post_data[‘name‘] = "武神"; 

foreach($post_data as $key=>$value)
$values[]="$key=".urlencode($value);
$data_string=implode("&",$values);  

$URL_Info=parse_url($URL);
$referrer="http://device.test.com/admin/manager/add";
//指定请求的url
if($referrer=="")
$referrer=$_SERVER["SCRIPT_URI"];  

//端口号
if(!isset($URL_Info["port"]))
$URL_Info["port"]=80;  

//请求头编写
$request = "";
$request.="POST ".$URL_Info["path"]." HTTP/1.1\n";
$request.="Host: ".$URL_Info["host"]."\n";
$request.="Referer: $referrer\n";
$request.="Content-type: application/x-www-form-urlencoded\n";
$request.="Cookie: ci_session=f8c16115464b90a7de13b1a0f14d6e1e9b9db05c\n";//看自己模拟网站是否需要session
$request.="User-Agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.76 Mobile Safari/537.36\n";
$request.="Content-length: ".strlen($data_string)."\n";
$request.="Connection: close\n";
$request.="\n";
$request.=$data_string."\n";  

//模拟发送post
$fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp, $request);
while(!feof($fp)) {
    $result .= fgets($fp, 128);  //从文件指针中读取一行。
}
fclose($fp); 
时间: 2024-10-15 04:33:13

模拟http响应头的相关文章

HttpWebRequest 模拟登录响应点击事件(开源自己用的HttpHelper类)

平时也经常采集网站数据,也做模拟登录,但一般都是html控件POST到页面登录:还没有遇到用户服务器控件button按钮点击事件登录的,今天像往常一样POST传递参数,但怎么都能登录不了:最后发现还有两个参数需要传,__EVENTVALIDATION和__VIEWSTATE 在传的过程中需要对参数值进行URL编码 System.Web.HttpUtility.UrlEncode(value) 模拟登录代码:在本地写的一个测试的网站来模拟登录,原理都一样: Request request = ne

Fiddler快速入门(还有一个功能就是不经过网络,直接模拟一个响应返回给客户端)

Fiddler是一个免费.强大.跨平台的HTTP抓包工具.Wireshark也是一个强大的抓包工具,不过Wireshark是一个通用的抓包工具,主要精力放在各种协议上了,针对HTTP的特定功能较少.所以如果你需要研究HTTP包的话,Fiddler一定是最适合的工具. 下载和安装 我们可以到Fidller下载页面下载Fiddler.下载完成之后安装即可.安装之后,我们打开它,可以得到类似的用户界面.在Windows下可能需要管理员权限,允许即可. Fiddler Fiddler通过打开localh

http请求头和响应头说明

请求头:accept:浏览器通过这个头告诉服务器,它所支持的数据类型Accept-Charset: 浏览器通过这个头告诉服务器,它支持哪种字符集Accept-Encoding:浏览器通过这个头告诉服务器,支持的压缩格式Accept-Language:浏览器通过这个头告诉服务器,它的语言环境Host:浏览器通过这个头告诉服务器,想访问哪台主机If-Modified-Since: 浏览器通过这个头告诉服务器,缓存数据的时间Referer:浏览器通过这个头告诉服务器,客户机是哪个页面来的  防盗链Co

HTTP请求的基本概念 HTTP请求头和响应头的含义

1,HTTP请求的基本概念 TCP/UPD/HTTP *2,HTTP请求头和响应头的含义 请求头: Accept: text/html,image/*(浏览器可以接收的类型) Accept-Charset: ISO-8859-1(浏览器可以接收的编码类型) Accept-Encoding: gzip,compress(浏览器可以接收压缩编码类型) Accept-Language: en-us,zh-cn(浏览器可以接收的语言和国家类型) Host: www.it315.org:80(浏览器请求的

一些安全相关的HTTP响应头

info()返回页面信息 import urllib2 from urllib2 import Request, urlopen, URLError req = urllib2.Request('http://www.python.org') try:     response = urlopen(req) except URLError,e:     if hasattr(e,'reason'):         print 'We failed to reach a server.'    

X-Frame-Options 响应头

[X-Frame-Options 响应头] 参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/X-Frame-Options

常见的http请求头,响应头,状态码

请求头 响应头 状态码

HTTP 请求头 & 响应头

HTTP请求头概述 HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST).如有必要,客户程序还可以选择发送其他的请求头.大多数请求头并不是必需的, 但Content-Length除外.对于POST请求来说Content-Length必须出现. 下面是一些最常见的请求头 Accept:浏览器可接受的MIME类型. Accept-Charset:浏览器可接受的字符集. Accept-Encoding:浏览器能够进行解码的数据编码方式,比如gzip.Ser

http响应头设置

protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置响应头数据 response.setHeader(null, "HTTP/1.1 200 OK"); response.setHeader("Server", "Apache-Coyote/1.1")