Socket编程 之使用fsockopen()函数
2024-08-25 21:06:20
fsockopen函数:初始化一个套接字连接到指定主机(hostname
)
get方式:
client.php
<?php
//创建连接
$fp=fsockopen('localhost',80,$error,$errstr,10); //检测
if (!$fp){
echo $errstr;die;
} //拼接http请求报文
$http=''; //请求报文包括3部分 请求行 请求头 请求体
$http.="GET /phpStudy/http/server.php?username=huahua HTTP1.1\r\n"; //请求头信息
$http.="Host:localhost\r\n";
$http.="Connection:close\r\n\r\n"; //请求体:无 //发送请求
fwrite($fp,$http); //获取结果
$res='';
while(!feof($fp)){
$res.=fgets($fp);
} //输出内容
echo $res;
server.php
<?php
//打印$_POST检测参数有没有过来
var_dump($_POST); //打印cookie内容
// var_dump($_COOKIE); //打印server的内容
// var_dump($_SERVER); //打印$_GET
// var_dump($_GET); //打印$GLOBALS
var_dump($GLOBALS);
post方式:
post.php
<?php
//创建连接
$fp=fsockopen('localhost',80,$errno,$errstr,10); //检测
if (!$fp){
echo $errstr;die;
} //拼接http请求报文
$http=''; //请求报文包括3部分 请求行 请求头 请求体
$http.="POST /phpStudy/http/server.php HTTP/1.1\r\n"; //请求头信息
$http.="Host:localhost\r\n";
$http.="Connection:close\r\n";
$http.="Cookie:username=admin;uid=200\r\n";
$http.="User-agent:firefox-chrome-safari-ios-android\r\n";
$http.="Content-type:application/x-www-form-urlencoded\r\n";
$http.="Content-length:39\r\n\r\n"; //请求体
$http.="email=xiaohigh22@163.com&username=admin\r\n"; //发送请求
fwrite($fp,$http); //获取结果
$res='';
while(!feof($fp)){
$res.=fgets($fp);
} //输出内容
echo $res;
问题1:返回内容我们用什么?echo
问题2:请求体包括哪3部分? 行 头 体
问题3:使用post方式请求时,使用什么符号来连接参数?&
最新文章
- 打不开tomcat
- ibatis
- yii2 如何在页面底部加载css和js
- 便捷的php操作mysql库MysqliDb
- JS中 toString() &; valueOf()
- 在C#中保存Bouncy Castle生成的密钥对
- 【CSS3】---层模型position之fixed固定定位、absolute绝对定位和relative相对定位
- Java关键字static、final使用小结
- mirantis fuel 学习
- linux 内核驱动加载过程中 向文件系统中的文件进行读写操作
- UIColor-Hex-Swift
- flume-hdfs sinks报错
- Easy DataGrid 实现动态列、行
- Oracle的trim( )、ltrim( )、rtrim( )三个函数的用法及注意事项
- 网页设计——5.table布局
- C#应用程序隐藏调用bat脚本
- 功能整合(一):滚动条的变相隐藏、js控制div的渐变显示、滚动条监听
- 分支界定( BRANCH-AND-BOUND)
- 记录一下这次web实训的两个网站
- Maven 学习笔记-maven属性
热门文章
- table-cell width:1% 深入理解
- 潜在风险的频次vs潜在风险的严重影响的程度(以及恢复)
- Cocos2dx Android环境编译出错:jni/Android.mk: Cannot find module with tag &#39;scripting/lua-bindings&#39; in import path
- eclipse二、保证svn导入的项目正常运行
- Java课堂测试——一维数组
- java String补足
- C# 初识Redis
- dede织梦手机站m文件夹功能基础详解
- JSON 是个什么??!!!
- 已有的PHP安装gd扩展