【Http 1.1 Etag 与 Last-Modified提高php效率】教程文章相关的互联网学习教程文章

php抓取httpsurl网页内容方法

在开发PHP 应用过程中,有时候需要获取https网页的内容,下面得方法,可以参考下。直接用file_get_contents,会报错; $url = (https://xxx.com"); file_get_contents($url);错误: Warning: file_get_contents(https://xxx.com) [function.file-get-contents]: failed to open stream: No such file or directory in D:wampwwwgrabber_clientindex.php on line 3用curl的方式是可以的: $url = (https://xxx.com); $ch = curl_in...

php获取http状态的两个方法

php怎么获取http状态在项目开发中,有时我们需要知道远程的URL地址是否能访问正常,判断其正常与否后进行下一步的操作,那么在PHP中如何获取远程HTTP的状态呢?逐风整理了两种方式,大家可以自行参考/使用: #方式一 $ch = curl_init(http://www.scutephp.com); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_exec($ch); echo curl_getinfo($ch, CURLINFO_HTTP_CODE); // 200 curl_close($ch); #方式二 print_r( get_heade...

$_POST、$HTTP_RAW_POST_DATA、php://input三者之间的区别

$_POST 、$HTTP_RAW_POST_DATA、php://input三者之间的区别$HTTP_RAW_POST_DATA总是产生变量包含有原始的 POST 数据。否则,此变量仅在碰到未识别 MIME 类型的数据时产生。不过,访问原始 POST 数据的更好方法是 php://input。$HTTP_RAW_POST_DATA 对于 enctype="multipart/form-data" 表单数据不可用。问题: $HTTP_RAW_POST_DATA == $_POST 吗? —>答案是为否。个人理解总结是这么玩的:1:$POST我们常用的就不用介绍了吧...

php中http头设置函数header参数详解

网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况:(1) 打开新窗口值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。 而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如: Cache-control: max-age=5(表示当访问此网页后的5...

PHP实现文件断点续传-HTTP

PHP实现文件断点续传-HTTP<?php/*** PHP-HTTP断点续传实现* @param string $path: 文件所在路径* @param string $file: 文件名* @return void*/function download($path,$file) {$real = $path./.$file;if(!file_exists($real)) {return false;}$size = filesize($real);$size2 = $size-1;$range = 0;if(isset($_SERVER[HTTP_RANGE])) {header(HTTP /1.1 206 Partial Content);$range = str_replace(=,-,$_SERVER[HTTP_RANGE]);$ra...

HTTP协议对URI长度,POST数据长度及COOKIE长度的限制

HTTP协议对URI长度,POST数据长度及COOKIE长度的限制1. URL长度限制 在Http1.1协议中并没有提出针对URL的长度进行限制,RFC协议里面是这样描述的,HTTP协议并不对URI的长度做任何的限制,服务器端必须能够处理任何它们所提供服务多能接受的URI,并且能够处理无限长度的URI,如果服务器不能处理过长的URI,那么应该返回414状态码。 虽然Http协议规定了,但是Web服务器和浏览器对URI都有自己的长度限制。 服务器的限制:我接触的最多的服...

php通过httppost发送json数据

通过http post发送json数据 function http_post_data($url, $data_string) {$ch = curl_init();curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);curl_setopt($ch, CURLOPT_HTTPHEADER, array(Content-Type: application/json; charset=utf-8,Content-Length: . strlen($data_string)));ob_start();curl_exec($ch);$return_content = ob_get_contents...

PHP抓取HTTPS网页内容方法及错误处理

PHP抓取HTTPS网页内容方法及错误处理最近在研究Hacker News API时遇到一个HTTPS问题。因为所有的Hacker News API都是通过加密的HTTPS协议访问的,跟普通的HTTP协议不同,当使用PHP里的函数 file_get_contents() 来获取API里提供的数据时,出现错误,使用的代码是这样的:<?php $data = file_get_contents("https://www.scutephp.com"); ......当运行上面的代码是遇到下面的错误提示:PHP Warning: file_get_contents(): Unable to...

phphttp请求数据

$url = 'https://......'; //请求地址 $ref_url = //来源页面 $data = array( //提交的数据 "param" => "", "param" => "" ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_USERAGENT, $agent); curl_setopt($ch, CURLOPT_REFERER, $ref_url); curl_setopt($ch, CURLOPT_POST, TRUE); //以POST方式提交 curl_setopt($ch, ...

PHP的HTTP客户端:Httpful

Httpful 是一个链式,REST友好的 PHP Http 客户端, cURL的一个健全替代。它的优点在强调可读性,简洁性、和灵活性,并提供基本的功能和灵活性帮助开发者完成工作,让功能易于实现。 特性: 可读的 HTTP方法支持(GET, PUT, POST, DELETE, HEAD, PATCH 和 OPTIONS) 可定制化的头文件 自动“智能”解析 自动负载系列化 基本认证 客户端证书验证 请求“模板” 示例代码: $url = "http...

再来一个爬虫,PHPcURL带cookies模拟HTTP

抓取个json数据,不知道哪里错了。遂重写一个 curl <?php header("content-type:text/html;charset=utf8");$curl = curl_init(https://www.phpcto.org/course/19/lesson/170);// 不输出header头信息curl_setopt($curl, CURLOPT_HEADER, 0);curl_setopt($curl, CURLOPT_COOKIE, ' PHPSESSID=q406pvav5da7st8q4ov6c482e0');// 伪装浏览器curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/5...

HTTP交互记录:PHP-VCR

PHP-VCR 可以记录你测试套件的 HTTP 交互,并且在今后运行更快、更准确的测试中重放。它有以下特点: 自动记录和重放 HTTP 和最小安装/配置代码的交互 支持通用的 HTTP 功能和扩展 同样的请求可以在不同的测试中接收不同的回复 当你不允许记录时,关闭所有 HTTP 请求 项目主页:http://www.open-open.com/lib/view/home/1437359403678

Curl模拟Http工具类:HttpCurl.class.php

Curl模拟Http工具类 可实现模拟GET、POST、POST上传文件. How To Use. require HttpCurl.class.php;// GET请求HttpCurl::get(http://api.example.com/);// GET请求, 并json_decode返回的数组HttpCurl::get(http://api.example.com/?a=123&b=456, json);// POST请求HttpCurl::post(http://api.example.com/?a=123, array( abc=>123, efg=>567));HttpCurl::post(http://api.example.com/, 这是post原始内容, json);// P...

说说$POST、$HTTP_RAW_POST_DATA、php://input三者之间的区别

$POST $_POST是我们最常用的获取POST数据的方式,它是以关联数组方式组织提交的数据,并对此进行编码处理,如urldecode,甚至编码转换,识别的数据类型是PHP默认识别的数据类型 application/x-www.form-urlencoded 无法解析如text/xml,application/json等非 application/x-www.form-urlencoded 数据类型的内容 HTTP_RAW_POST_DATA 前面说过PHP默认识别的数据类型是application/x-www.form-urlencoded,用Content-T...

解决PHPcurlhttps时error77(Problemwithreadingthe

解决PHP curl https时error 77(Problem with reading the SSL CA cert (path? access rights?)) 服务器环境为CentOS,php-fpm,使用curl一个https站时失败,打开curl_error,捕获错误:Problem with reading the SSL CA cert (path? access rights?) 解决方案:1. sudo yum install ca-certificates (无论有没有,安装确认一下) 2. 重启php-fpm,这步比较重要,更改底层的东西时一定要重启一下 3. curl时设置:curl_seto...