zoukankan      html  css  js  c++  java
  • 模拟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
    ";  
    $request.="Host: ".$URL_Info["host"]."
    ";  
    $request.="Referer: $referrer
    ";  
    $request.="Content-type: application/x-www-form-urlencoded
    ";  
    $request.="Cookie: ci_session=f8c16115464b90a7de13b1a0f14d6e1e9b9db05c
    ";//看自己模拟网站是否需要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
    ";  
    $request.="Content-length: ".strlen($data_string)."
    ";  
    $request.="Connection: close
    ";  
    $request.="
    ";  
    $request.=$data_string."
    ";  
    
    //模拟发送post
    $fp = fsockopen($URL_Info["host"],$URL_Info["port"]);  
    fputs($fp, $request);  
    while(!feof($fp)) {  
        $result .= fgets($fp, 128);  //从文件指针中读取一行。
    }  
    fclose($fp); 
  • 相关阅读:
    实现两个窗口通信方法-postMessage
    Java中的参数传值方式
    数据库连接池(connection pool)
    批量处理JDBC语句提高处理速度
    数据库事务,隔离级别
    BeanUtils介绍及使用
    JDBC获得数据库连接及使用
    jquery radio 行选中 操作
    EXTJS4.0 grid 可编辑模式 配置
    sql server 中使用 LIKE 语句 SqlParameter 使用
  • 原文地址:https://www.cnblogs.com/zc123/p/5592123.html
Copyright © 2011-2022 走看看