PHP使用file_get_contents发送http请求功能简单示例

本文实例讲述了PHP使用file_get_contents发送http请求功能。分享给大家供大家参考,具体如下:

服务器端模拟 POST/GET 等请求,使用 CURL 很容易办到(例如前面一篇《php使用CURL模拟GET与POST向微信接口提交及获取数据的方法》),那么如果不使用 CURL 库,又该怎么办呢?

$data = array(
  'test'=>'bar',
  'baz'=>'boom',
  'site'=>'www.nimip.com',
  'name'=>'nimip.com');
$data = http_build_query($data);
//$postdata = http_build_query($data);
$options = array(
  'http' => array(
    'method' => 'POST',
    'header' => 'Content-type:application/x-www-form-urlencoded',
    'content' => $data
    'timeout' => 60 // 超时时间(单位:s)
  )
);
$url = "http://www.testweb.com";
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
echo $result;

其中http://www.testweb.com的代码为:

$data = $_POST;
print_r( $data );

stream_context_create() 作用:创建并返回一个文本数据流并应用各种选项,可用于fopen(),file_get_contents()等过程的超时设置、代理服务器、请求方式、头信息设置的特殊过程。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php curl用法总结》、《PHP网络编程技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP运算与运算符用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:

  • PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)
  • PHP实现模拟http请求的方法分析
  • PHP模拟http请求的方法详解
  • php发送http请求的常用方法分析
  • php实现的http请求封装示例
  • PHP使用socket发送HTTP请求的方法
  • php 利用socket发送HTTP请求(GET,POST)
  • PHP实现取得HTTP请求的原文
  • PHP获取http请求的头信息实现步骤
  • PHP curl 或 file_get_contents 获取需要授权页面的方法
(0)

相关推荐

  • php 利用socket发送HTTP请求(GET,POST)

    今天给大家带来的是如何利用socket发送GET,POST请求.我借用燕十八老师封装好的一个Http类给进行说明. 在日常编程中相信很多人和我一样大部分时间是利用浏览器向服务器提出GET,POST请求,那么可否利用其它方式提出GET,POST请求呢?答案必然是肯定的.了解过HTTP协议的人知道,浏览器提交请求的实质是向服务器发送一个请求信息,这个请求信息有请求行,请求头,请求体(非必须)构成.服务器根据请求信息返回一个响应信息.连接断开. HTTP请求的格式如下所示: <request-line

  • PHP实现取得HTTP请求的原文

    本文实例讲述了PHP实现取得HTTP请求的原文的方法,具体步骤如下: 1. 取得请求行:Method.URI.协议 可以从超级变量$_SERVER中获得,三个变量的值如下: $_SERVER['REQUEST_METHOD'].' '.$_SERVER['REQUEST_URI'].' '.$_SERVER['SERVER_PROTOCOL']."\r\n"; 2. 取得所有Header PHP有个内置函数getallheader(),是apache_request_headers()

  • PHP中file_get_contents函数抓取https地址出错的解决方法(两种方法)

    方法一: 在php中,抓取https的网站,提示如下的错误内容: Warning: file_get_contents() [function.file-get-contents]: failed to open stream: Invalid argument in I:Webmyphpa.php on line 16 打开php.ini文件找到 ;extension=php_openssl.dll ,去掉双引号";" ,重启web服务器即可. apache服务器的话,可以同时启用m

  • PHP模拟http请求的方法详解

    本文实例讲述了PHP模拟http请求的方法.分享给大家供大家参考,具体如下: 方法一:利用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 f

  • PHP获取http请求的头信息实现步骤

    PHP手册提供了现成的函数: getallheaders (PHP 4, PHP 5) getallheaders - Fetch all HTTP request headers 说明 array getallheaders ( void ) Fetches all HTTP headers from the current request. This function is an alias for apache_request_headers(). Please read theapach

  • php实现的http请求封装示例

    本文实例讲述了php的http请求封装.分享给大家供大家参考,具体如下: /** * 发送HTTP请求方法,目前只支持CURL发送请求 * @param string $url 请求URL * @param array $params 请求参数 * @param string $method 请求方法GET/POST * @return array $data 响应数据 */ protected function http($url, $params, $method = 'GET', $hea

  • PHP使用socket发送HTTP请求的方法

    本文实例讲述了PHP使用socket发送HTTP请求的方法.分享给大家供大家参考,具体如下: socket方式: $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); //socket_set_option($socket, SOL_SOCKET, SO_SNDTIMEO, array("sec"=>20, "usec"=>0)); socket_connect($socket, 'www.bai

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

    本文实例讲述了php发送http请求的常用方法.分享给大家供大家参考,具体如下: http请求有get,post. php发送http请求有三种方式[我所知道的有三种,有其他的告诉我]. 1. file_get_contents();详情见:http://www.jb51.net/article/41833.htm 2. curl发送请求. 3. fsocket发送. 下面说使用curl发送. 首先环境需要配置好curl组件. 在windows中让php支持curl比较简单: 在php.ini中

  • PHP实现模拟http请求的方法分析

    本文实例讲述了PHP实现模拟http请求的方法.分享给大家供大家参考,具体如下: 在http简析中,我们提到了浏览器请求资源的一个流程,那么这个流程能不能用php来模拟呢?答案是肯定的. php模拟http请求需要实现以下步骤: 1.连接apache服务器 使用fsockopen:专门用于连接服务器,得到一个连接资源 2.写入http协议 使用fwrite向资源写入内容 3.接收数据 请求成功后返回的数据会被存放在资源中 4.解析数据: 使用fgets,和fgetc函数 实现代码: <?php

  • PHP curl 或 file_get_contents 获取需要授权页面的方法

    今天因工作需要,需要用 curl / file_get_contents 获取需要授权(Authorization)的页面内容,解决后写了这篇文章分享给大家. PHP curl 扩展,能够在服务器端发起POST/GET请求,访问页面,并能获取页面的返回数据. 例如要获取的页面:http://localhost/server.php <?php $content = isset($_POST['content'])? $_POST['content'] : ''; header('content-

随机推荐