PHP模拟http请求

keil+Jlink GD32调试记录 Jlink+keil,GD32调试记录,踩坑及解决,持续更新。 阅读详情
方法一:利用php的socket编程来直接给接口发送数据来模拟post的操作。

建立两个文件post.php,getpost.php
post.php内容如下:
<?php
 $flag = 0;
 $params = '';
 $errno = '';
 $errstr = '';
 //要post的数据
$argv = array(
    'var1'=>'abc',
    'var2'=>'how are you , my friend??');
//构造要post的字符串
foreach ($argv as $key=>$value) {
    if ($flag!=0) {
        $params .= "&";
        $flag = 1;
    }
    $params.= $key."="; $params.= urlencode($value);
    $flag = 1;
    }
    $length = strlen($params);
     //创建socket连接
    $fp = fsockopen("localhost",81,$errno,$errstr,10) or exit($errstr."--->".$errno);
    //构造post请求的头
    $header  = "POST /flandy/getpost.php HTTP/1.1\r\n";
    $header .= "Host:127.0.0.1\r\n";
    $header .= "Referer:/flandy/post.php\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的数据
    fputs($fp,$header);
    $inheader = 1;
    while (!feof($fp)) {
        $line = fgets($fp,1024); //去除请求包的头只显示页面的返回数据
        if ($inheader && ($line == "\n" || $line == "\r\n")) {
             $inheader = 0;
        }
        if ($inheader == 0) {
          echo $line;
        }
    }

fclose($fp);
?>
getpost.php的内容如下
<?php
echo "this is the data posted";
echo "<pre>";
print_r($_REQUEST);
echo "</pre>";
?>
结果输出:
this is the data posted
Array
(
    [var1] => abc
    [var2] => how are you , my friend??
)

以上代码在本机81端口下已经通过测试。
方法二:
使用PHP的curl扩展或HttpClient.class.php类,这两个非常类似,下面简单的列出curl的实现代码。

两个文件post2.php和getpost2.php
post2.php的内容如下:
<?php
$psecode = ’NDE005’;
$website = ’www.baidu.com’;
$amt = 1;
$pwd = 123456;
$ch = curl_init();
$curl_url = "http://localhost:81/flandy/getpost2.php?web=" . $website .
"&pwd=" . $pwd . "&action=check&pseid=" . $psecode .
"&amt=" . $amt;
curl_setopt($ch, CURLOPT_URL, $curl_url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//不直接输出,返回到变量
$curl_result = curl_exec($ch);
$result = explode(',', $curl_result);
curl_close($ch);
print_r($result);
?>
getpost2.php的内容如下:
<?php
echo "returndata<br>";
echo "<pre>";
print_r($_REQUEST);
echo "</pre>";
?>
结果输出:
Array( [0] => returndata
Array
(
    [web] => ’wwwbaiducom’
    [pwd] => 123456
    [action] => check
    [pseid] => ’NDE005’
    [amt] => 1
)
)
方法三:这个要借助第三方类库HttpClient
可以到这里下载: http://scripts.incutio.com/httpclient/
<?php
require_once 'HttpClient.class.php’;
$params = array(’web’ => ’www.baidu.com’,
’pwd’ => ’123456’,
’action’ => ’check’,
’pseid’ => ’NDE005’,
’amt’ => 1);
$pageContents = HttpClient::quickPost(’http://localhost:81/flandy/getpost3.php’, $params);
$result = explode(’,’, $pageContents);
print_r($result);
?>
冗余位技术在SAR ADC中的动态误差恢复机制解析 本文深入解析了冗余位技术在SAR ADC中的动态误差恢复机制,详细介绍了其基本概念、动态误差产生原因及冗余位的容错空间设计、时序松弛策略和数字校正算法。通过实际电路设计案例和数学建模,展示了冗余位技术如何显著提升ADC的精度和能效比,同时探讨了未来发展方向。 阅读详情

相关推荐

用友U8库龄分析避坑指南:物料出入库日期计算的5个常见错误

本文深入剖析了在用友U8系统中进行库龄分析时,物料出入库日期计算的五个常见陷阱。从数据源选择、业务类型过滤、计价方式逻辑、期初数据处理到查询性能优化,逐一解析错误根源并提供避坑指南,帮助企业获得准确的库龄数据,有效管理库存与资金风险。

weixin_29209801的博客 455

php:一次完整的HTTP请求过程笔记

HTTP 事务执行过程 1.客户端(浏览器)做出请求操作(输入网址、点击链接、提交表单) 2.客户端检测缓存 1)有缓存且较新,客户端直接读取本地缓存进行资源展示 2)有缓存但是不新,准备http请求包,发送至服务端进行缓存校验 3.客户端对域名进行解析,向设定的 DNS 服务器请求 IP 地址。 1)DNS 全称是 Domain Name System,译为域名系统。它可以将域名和 IP地址互相映射,能够让用户使用域名就可以访问互联网服务。 4.客户端根据 DNS 服务器返回 IP 地址采用三次握手与服务

阿飞的博客 3073

RT-Thread与ROS2通信:micro-ROS在STM32上的移植实践

本文详细介绍了在STM32平台上使用RT-Thread实时操作系统移植micro-ROS实现与ROS2通信的实践方案。通过对比rosserial方案,重点阐述了micro-ROS基于XRCE-DDS协议栈在数据可靠性(丢包率低于1%)、双模式通信(UDP/串口)以及C/C++混合编程方面的优势,为嵌入式设备与ROS2的高效通信提供了完整解决方案。

emacs5lisp的博客 327

HTTP响应设置及PHP模拟HTTP请求

一:HTTP详解 1). HTTP相关了解 HTTP协议概念 HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等

eyes++的博客 2149

基于溶解气体分析(DGA)的变压器DGA数据故障诊断含代码含数据

在拥有可靠的DGA数据的前提下,结合机器学习分类算法,可以实现变压器的故障诊断。在此数据集的基础上,用随机森林跑出的结果如图。

Jason_Orton的博客 2701

五、2K0300 久久派开发板的GPIO控制与Shell脚本自动化实战

本文详细介绍了基于龙芯2K0300处理器的久久派开发板的GPIO控制方法,通过sysfs文件系统实现LED控制和传感器读取。重点讲解了Shell脚本自动化实战,包括LED闪烁、流水灯效果和传感器数据采集,为物联网项目开发提供完整解决方案。

silver的专栏 687

php 请求方式,php发送http请求的常用方法分析

本文实例讲述了php发送http请求的常用方法。分享给大家供大家参考,具体如下:http请求有get,post。php发送http请求有三种方式[我所知道的有三种,有其他的告诉我]。1. file_get_contents();详情见:https://www.jb51.net/article/41833.htm2. curl发送请求。3. fsocket发送。下面说使用curl发送。首先环境需要配...

weixin_42106357的博客 2969

别再只会用QTcpSocket了!手把手教你用QSslSocket为你的Qt网络应用加上SSL/TLS加密(附完整代码示例)

本文详细介绍了如何将Qt网络应用从QTcpSocket迁移到QSslSocket,实现SSL/TLS加密传输。通过对比API差异、解析核心机制和提供完整代码示例,帮助开发者快速掌握安全网络编程技巧,有效防范数据窃听和中间人攻击等安全风险。

weixin_30654583的博客 400

php http发送get、post请求的几种方法

方法1: 用file_get_contents 以get方式获取内容 <?php $url='http://www.domain.com/'; $html = file_get_contents($url); echo $html; ?>   方法2: 用fopen打开url, 以get方式获取内容 <?php $fp = fopen($url, 'r'); //

我就想静静休息会 3万+

【新版系统架构】系统架构设计师教程全篇知识点提炼

信息系统的5个基本功能:输入、存储、处理、输出和控制信息系统的发展:诺兰模型:初始阶段、传播阶段、控制阶段、集成阶段、数据管理阶段、成熟阶段信息系统的分类:传统的信息系统分为:业务(数据)处理系统、管理信息系统(MIS)、决策支持系统(DSS)、专家系统(ES)、办公自动化系统(OAS)等5类信息系统的生命周期:1、产生阶段2、开发阶段(总体规划、系统分析、系统设计、系统实施、系统验收阶段)3、运行阶段4、消亡阶段信息系统建设原则:1、高层管理人员介入原则。

分享技术干货和灵感、推荐新书和好玩的项目、分享Java面试题 1万+

1. SAP Business Application Studio 里创建一个基于 CAP 模型的最简单的 OData 服务

本文基于 SAP Cloud Application Programming 编程模型的 OData 服务开发教程的第一步,简述了 SAP Business Technology Platform 里 Business Application Studio 开发工具的打开方式,创建 Dev Space 以及 CAP 项目的创建步骤,以及如何通过 schema.cds 和 service.cds 分别创建 OData 模型和 OData 服务,最后通过 ports preview 打开 OData 服务预览页

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1798

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

本文实例讲述了PHP模拟http请求的方法。分享给大家供大家参考,具体如下:方法一:利用php的socket编程来直接给接口发送数据来模拟post的操作。建立两个文件post.php,getpost.phppost.php内容如下:$flag = 0;$params = '';$errno = '';$errstr = '';//要post的数据$argv = array('var1'=>'...

weixin_33552698的博客 589

科研级YOLOv8 Neck革新:BiFPN双向特征金字塔赋能,让多尺度融合更高效的实战指南

在文件夹下新建BiFPN.py,将上述BiFPNLayer和BiFPN类的代码写入其中。这一步是为了让YOLOv8的代码架构能识别我们的自定义Neck模块。

m0_64661770的博客 153

php模拟请求,PHP 模拟http 请求

php 模拟请求类<?php/*** fangdasheng* http 模拟请求*/class Myhttp {private $apiUrl;// 构造函数public function construct() {}// 静态获取public static function getHttp($url, $params= [] , $method = 'POST', $header = ...

weixin_39951419的博客 234

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

cmd http php请求,模拟Http请求

使用Telnet模拟Http请求打开cmd运行框,输入Telnet www.baidu.com 80后按回车键。此时看到的界面是黑屏状态,标题栏显示 Telnet www.baidu.com如果提示telnet不是内部或外部命令可以参考百度经验。利用快捷键打开“Ctrl+]”打开Telnet回显,按回车键后可以进入编辑状态。回显模式:编辑模式:接下来是考验手速的时候了,单身党一定完胜的游戏。输入G...

weixin_35133814的博客 572

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

PHP模拟HTTP请求

1、HTTP协议 1.1、概念 HTTP协议,即超文本传输协议(Hypertext transfer protocol)。是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网传送万维网文档的数据传送协议。 HTTP协议是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传...

yi742891270的博客 397

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

PHP 模拟http 请求

php 模拟请求类 &lt;?php /** * fangdasheng * http 模拟请求 */ class Myhttp { private $apiUrl; // 构造函数 public function construct() { } // 静态获取 public static function ge...

dianqi0560的博客 176

php构造http请求,PHP模拟http请求的方法详解

本文实例讲述了PHP模拟http请求的方法。分享给大家供大家参考,具体如下:方法一:利用php的socket编程来直接给接口发送数据来模拟post的操作。建立两个文件post.php,getpost.phppost.php内容如下:$flag = 0;$params = '';$errno = '';$errstr = '';//要post的数据$argv = array('var1'=>'...

weixin_29612723的博客 394

php模拟http请求

Php模拟http请求 今天有空,于是总结一下php模拟http请求的方式。如果有错漏,希望大家可以提出来,大家一起分享一起学习。   方法一:File_get_contents(只能模拟get请求) $url = “http://www.baidu.com”; $content = File_get_contents($url);   方法二:Fsockopen 模拟请求

Timing... 514

php模拟CURL分别进行GET、POST进行HTTP请求

在调用接口的过程中 我们需要模拟浏览器请求,这个时候作为PHP开发者,我们可以利用CURL进行模拟HTTP请求,以下是我已经封装过的公用方法代码: 1、curl以GET方式请求https协议接口 /** * curl 模拟GET请求 * @author lee ***/ function curl_get($url){ //初始化 $ch = curl_init(); //设置抓取的url curl_setopt($ch, CURLOPT_URL, $url); /

夏夏的博客 488

php http post socket,使用PHP Socket 编程模拟Http post和get请求

这里给大家分享一段使用PHP Socket 编程模拟Http post和get请求的代码,非常的实用,结尾部分我们再讨论下php模拟http请求的几种方法。复制代码 代码如下:* 使用PHP Socket 编程模拟Http post和get请求* @author koma*/ class Http{private $sp = ""; //这里必须要写成双引号 private $protoc...

weixin_36196497的博客 305

PHP核心编程——了解HTTP协议与模拟HTTP请求

HTTP协议 目录 HTTP协议 HTTP协议概念 HTTP协议特点 HTTP协议分类 HTTP请求 请求行 请求头 请求体 HTTP响应 响应行 响应头 响应体 常见的HTTP状态码 HTTP响应 常见的HTTP响应设置及使用 PHP模拟HTTP请求 原理 Curl扩展库使用 HTTP协议概念 HTTP协议即超文本传输协议(Hypertext Trans...

Better_YZQ的博客 690

php+模拟get+请求,PHP模拟 HTTP GET POST请求示例

PHP模拟 HTTP GET POST请求示例发布于 2015-04-17 11:55:48 | 259 次阅读 | 评论: 0 | 来源: 网友投递PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件...

weixin_29720641的博客 235

php模拟请求,应用php模拟http请求

使用php模拟http请求// Returns array with headers in $response[0] and body in $response[1]function http_post($request, $host, $path, $port = 80, $ip=null) {$http_request = "POST $path HTTP/1.0\r\n";$http_re...

weixin_35620886的博客 177

php 模拟http请求

原文 GuzzleHttp GuzzleHttp模拟表单提交 并用nodejs接受数据 php代码 use GuzzleHttp\Client; $array = array( 'token'=>$token ); $data = json_encode($array); $client = new Client();...

qq_40414209的博客 340

php模拟HTTP协议请求

请求过程 1.   与服务器建立连接(模拟的HTTP连接) fsockopen:与服务器建立连接,得到一个连接资源 2.   发送HTTP协议(请求) 请求行 请求头 空行 请求数据 发送内容,其实就是向建立好的连接写数据:fwrite 3.   接收HTTP响应 将结果取出来:fgetc/fgets/fread 4.   关闭连接资源 fclose php模拟G

zuimei_forver的博客 541
上一篇: php设计模式
下一篇: mysql事务管理
shutFuckingup
博客等级 码龄14年 8粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值