<?php//fsockopen — 打开一个网络连接或者一个Unix套接字连接 注意这里只能是 域名 或 ip
$flag = 0;
$params = '';
$errno = '';
$errstr = '';
//要post的数据
$argv = ['a'=>'aa','b'=>'bb'
];
//构造要post的字符串
foreach ($argv as $key=>$value) {if ($flag!=0) {$params .= "&";$flag = 1;}$params.= $key."="; $params.= urlencode($value);$flag = 1;
}$length = strlen($params);
//创建socket连接 fsockopen — 打开一个网络连接或者一个Unix套接字连接 注意这里只能是 域名 或 ip
$fp = fsockopen("localhost",80,$errno,$errstr,10) or exit($errstr."--->".$errno);
//构造post请求的头
$header = "POST /index.php HTTP/1.1\r\n";
$header .= "Host:game.shopc.top\r\n";
$header .= "Referer:localhost\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: ".$length."\r\n";
$header .= "Connection: Close\r\n\r\n";
//添加post的字符串
$header .= $params."\r\n";
//发送post的数据
//int fwrite ( resource $handle , string $string [, int $length ] ) 函数原型 $length 当写完指定  $length 个字节(注意是字节)会停止写入 出现错误时则返回 FALSE
fputs($fp,$header);//fputs 是 fwrite的别名
$inheader = 1;
//feof — 测试文件指针是否到了文件结束的位置  如果文件指针到了 EOF 或者出错时则返回 TRUE
while (!feof($fp)) {$line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据.fgets  从指针 handle 指向的文件中读取了 length - 1 字节后返回字符串。 如果文件指针中没有更多的数据了则返回 FALSE。碰到换行符(包括在返回值中)、EOF 或者已经读取了 length - 1 字节后停止(看先碰到那一种情况)echo $line;
}
fclose($fp);

php socket 模拟http请求相关推荐

  1. 【9.4】socket模拟http请求

    1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 # requests -> urllib -> socket 5 import s ...

  2. php socket 用户名密码,PHP用socket模拟post之fsocketopen

    地听说这个功能需求的时候,立即就蒙了,不骗大家!首先PHP的socket几乎都没使用过,其次没有听说过post还能用PHP的socket来模拟的呢!后来找了个案例看了看,才明白其实没有那么高深,只不过 ...

  3. php 进行http请求,PHP模拟http请求的方法详解

    本文实例讲述了PHP模拟http请求的方法.分享给大家供大家参考,具体如下: 方法一:利用php的socket编程来直接给接口发送数据来模拟post的操作. 建立两个文件post.php,getpos ...

  4. curl命令java_上curl java 模拟http请求

    最近,我的项目要求java模拟http请求,获得dns解决 tcp处理过的信息特定的连接. java api提供urlConnection apache提供的httpClient都不能胜任该需求,二次 ...

  5. JAVA编写的使用Socket模拟Http的GET操作

    JAVA编写的使用Socket模拟Http的GET操作,看后就很容易理解Web浏览器的原理了. import java.io.BufferedReader; import java.io.InputS ...

  6. C# Socket模拟发送接收

    Socket简介 通过TCP/IP与仪器或设备通讯,在C#语言中,我们通常采用Socket.本项目是一个简单的Socket建立服务监听与Socket作为客户端请求的一个示例. 项目结构 客户端项目 S ...

  7. Socket模拟HTTP协议之火车票购票软件

    前段时间我发布过一篇文章描述Socket进行HTTP/HTTPS操作,但是还是很多朋友觉得多次一举,放着简单的HttpWebRequest不用! 实际是有些人根本没看文章就乱说了,我们的目地是提高访问 ...

  8. python爬虫网络请求超时_6、web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求...

    利用python系统自带的urllib库写简单爬虫 urlopen()获取一个URL的html源码 read()读出html源码内容 decode("utf-8")将字节转化成字符 ...

  9. [转】HTTP请求流程(二)----Telnet模拟HTTP请求

    转自: http://www.cnblogs.com/stg609/archive/2008/07/06/1237000.html 上一部分"流程简介", 我们大致了解了下HTTP ...

最新文章

  1. 反汇编算法介绍和应用——线性扫描算法分析
  2. wp_terms分类信息表—WordPress数据库研究(2.6.2版本)#8
  3. matlab二次二阶距,用Matlab改进一次二阶矩法程序.doc
  4. asp.net mvc 应用Bundle(捆绑和微小)压缩技术 启用 BundleConfig 配置web.config
  5. 【十五分钟Talkshow】如何善用你的.NET开发环境
  6. java 随机抽取_java随机抽取指定范围不重复的数字
  7. python异步爬虫_Python异步爬虫试验[Celery,gevent,requests]
  8. 如何将PDF转成Excel格式?
  9. golang cover协程异常
  10. 黑马Java基础笔记大纲
  11. Activiti6在Springboot下的使用 6 并行网关的处理
  12. Cyclone IV E系列介绍
  13. 【强化学习】强化学习介绍
  14. MFC 绘制 PNG 格式图片
  15. 搜索引擎类网站调查报告
  16. 献给准大三的童鞋们,想要在暑假里找个java实习工作.
  17. mysql--部门表员工表练习题
  18. 毕业薪酬行业第一?计算机+金融交叉学科真香
  19. USB虚拟总线驱动开发扩展之(利用虚拟USB总线驱动实现U盘模拟)
  20. 中秋国庆长假,SEO你在坚持吗?

热门文章

  1. 【ML】评估一个分类器:精确率和召回率(Evaluation of Classifier)
  2. html 的描点链接
  3. 嘿嘿,插播消息,最新一期的流言终结者
  4. 快速实现抖音的分享登录(android) 1
  5. 认识HTML语言(CodePen)
  6. 架构对比(CPU、GPU、FPGA、ASIC、DSA……)
  7. SQL Server:mdf文件和ldf文件是什么?
  8. JavaWeb学习:session
  9. Error: Cannot find module ‘wx-server-sdk’ 异常问题
  10. echarts中国地图飞线