• Socket编程 之使用fsockopen()函数


    fsockopen函数:初始化一个套接字连接到指定主机(hostname

    get方式:

    client.php

     1 <?php
     2 //创建连接
     3 $fp=fsockopen('localhost',80,$error,$errstr,10);
     4 
     5 //检测
     6 if (!$fp){
     7     echo $errstr;die;
     8 }
     9 
    10 //拼接http请求报文
    11 $http='';
    12 
    13 //请求报文包括3部分 请求行 请求头 请求体
    14 $http.="GET /phpStudy/http/server.php?username=huahua HTTP1.1
    ";
    15 
    16 //请求头信息
    17 $http.="Host:localhost
    ";
    18 $http.="Connection:close
    
    ";
    19 
    20 //请求体:无
    21 
    22 //发送请求
    23 fwrite($fp,$http);
    24 
    25 //获取结果
    26 $res='';
    27 while(!feof($fp)){
    28     $res.=fgets($fp);
    29 }
    30 
    31 //输出内容
    32 echo $res;

    server.php

     1 <?php
     2 //打印$_POST检测参数有没有过来
     3 var_dump($_POST);
     4 
     5 //打印cookie内容
     6 // var_dump($_COOKIE);
     7 
     8 //打印server的内容
     9 // var_dump($_SERVER);
    10 
    11 //打印$_GET
    12 // var_dump($_GET);
    13 
    14 //打印$GLOBALS
    15     var_dump($GLOBALS);

    post方式:

    post.php

     1 <?php
     2 //创建连接
     3 $fp=fsockopen('localhost',80,$errno,$errstr,10);
     4 
     5 //检测
     6 if (!$fp){
     7     echo $errstr;die;
     8 }
     9 
    10 //拼接http请求报文
    11 $http='';
    12 
    13 //请求报文包括3部分 请求行 请求头 请求体
    14 $http.="POST /phpStudy/http/server.php HTTP/1.1
    ";
    15 
    16 //请求头信息
    17 $http.="Host:localhost
    ";
    18 $http.="Connection:close
    ";
    19 $http.="Cookie:username=admin;uid=200
    ";
    20 $http.="User-agent:firefox-chrome-safari-ios-android
    ";
    21 $http.="Content-type:application/x-www-form-urlencoded
    ";
    22 $http.="Content-length:39
    
    ";
    23 
    24 //请求体
    25 $http.="email=xiaohigh22@163.com&username=admin
    ";
    26 
    27 //发送请求
    28 fwrite($fp,$http);
    29 
    30 //获取结果
    31 $res='';
    32 while(!feof($fp)){
    33     $res.=fgets($fp);
    34 }
    35 
    36 //输出内容
    37 echo $res;

    问题1:返回内容我们用什么?echo

    问题2:请求体包括哪3部分? 行 头 体

    问题3:使用post方式请求时,使用什么符号来连接参数?&

  • 相关阅读:
    HDU 4745 Two Rabbits (区间DP)
    HDU 1007 Quoit Design最近点对( 分治法)
    acdream 小晴天老师系列——我有一个数列! (ST算法)
    HDU 3592 World Exhibition (差分约束,spfa,水)
    HDU 5501 The Highest Mark (贪心+DP,经典)
    HDU 5500 Reorder the Books (水题)
    HYSBZ 1010 玩具装箱toy (决策单调DP)
    POJ 3017 Cut the Sequence (单调队列优化DP)
    Vijos P1243 生产产品 (单调队列优化DP)
    PIVOT&UNPIVOT
  • 原文地址:https://www.cnblogs.com/8013-cmf/p/9517214.html
Copyright © 2020-2023  润新知