失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > PHP中实现请求转发(curl)和请求重定向

PHP中实现请求转发(curl)和请求重定向

时间:2018-12-27 13:57:23

相关推荐

PHP中实现请求转发(curl)和请求重定向

php教程|php手册

PHP,实现,请求,转发,curl,重定向,请求,重定向,H

php教程-php手册

交易源码系统,ubuntu修改漂亮桌面,爬虫藤条教程推荐,php人员简历,北易seolzw

一.请求重定向 1 、 用HTTP头信息 也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型(Context-type: xxx/xxx),页面的属性(No cache, Expire)等等。 用HTTP头信息

易语言选择框源码,vscode出现乱码,安装ubuntu显示界面太小,tomcat日志区别,sqlite返回查询结果,帝国cms云存储插件,vue前端app开发框架,python爬虫下载数据,php 单引号 双引号,广州SEO公司蛋糕,帝国网站首页版权去除,手机网页点击图片放大,织梦文章模板页模板下载,个性导航页面源码,论文管理系统发布选题源码,人人商城添加支付宝小程序lzw

网站导航精品源码,ubuntu如何退出安装,tomcat百度云盘,爬虫自动喷淋,怎么在vscode里面写php,新泰seo公司lzw

一.请求重定向

1、用HTTP头信息

也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型(“Context-type: xxx/xxx”),页面的属性(“No cache”, “Expire”)等等。

用HTTP头信息进行PHP重定向到另外一个页面的方法如下:

<?php $url = ""; if (!empty($url)) { Header("HTTP/1.1 303 See Other"); //这条语句可以不写Header("Location: $url"); } ?>

注意一下,”Localtion:”后面有一个空格。

2、用HTML标记PHP重定向

用HTML标记,就是用META的REFRESH标记,举例如下:

<?php if (!empty($url)) {echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=$url\">"; } ?>

3、用脚本来实现PHP重定向

举例如下:

<? if (isset($url)) {echo "<SCRIPT LANGUAGE="JavaScript">";echo "location.href=$url\";echo ""; } ?>

或者

<?php echo "window.location =\"$url\";";?>

二.请求转发

PHP使用curl来进行请求转发

1.给PHP安装和开启curl

A、window下安装php_curl支持

1.将PHP安装文件夹下的三个文件php_curl.dll(可能在ext文件夹中),libeay32.dll,ssleay32.dll 复制到 %windir%/system32下;

2.打开php.ini(可能在PHP环境的安装目录下,默认在c:\WINDOWS目录下),将;extension=php_curl.dll头部的分号去掉;

3.重启php的服务(apache或者IIS),如重启IIS,运行iisreset即可。

B、linux中php如何安装curl扩展

如果php已经在系统编译好,后来又需要添加新的扩展,一种方式就是重新完全编译php,另一种方式就是单独编译扩展库,以extension的形式扩展。

情况一:全新安装php 和curl

首先下载curl安装包(我的php是4.4.4的,下载最新的curl 7.16 不能使用,最后下载7.14的才可以,下载要注意一下版本)

然后安装cURL

# tar -zxf (此处填下载的curl包名称)# ./configure –prefix=/usr/local/curl# make; make install

安装php时,只要打开开关 –with-curl=/usr/local/curl就可以了。

php要求curl的目录要有include和lib目录,并且include下要有easy.h和curl.h两个文件,lib下要有libcurl.a。经编译后include下的文件有了,但是lib目录下可能还没有。原来生成到lib/.libs目录下,所以要copy到lib目录。

情况二:已经安装了php,现在需要添加这个扩展

进入安装原php的源码目录,(如果删了,但是还有原来的压缩文件的话,重新解压就行)

cd ext/curlphpize ./configure –with-curl=DIR (可以不写dir,如果你的curl安装时没有指定目录)make

就会在PHPDIR/ext/curl/moudles/下生成curl.so的文件。

复制curl.so文件到extensions的配置目录,修改php.ini就好了

以上两种就是Linux下php扩展cURL的安装方法。

2.cURL实现Get和Post请求的方法相关实现方法的文章链接:脚本之家

但仔细发现,用curl实现的请求转发和用JSP里的request.getrequestdispatcher请求转发不一样

例如:

a.php里实现了curl请求,实际上是a.php页面向其他页面请求,然后把响应内容输出在a.php页面里,调用完curl后,a.php还能再做别的事情

但JSP不同,jsp中实现请求转发后,例如:a.jsp请求转向到b.jsp,那么就会停止执行当前的a.jsp,转而执行被转发的资源b.jsp

相同的是a.php与a.jsp上的URL都不变化

如果觉得《PHP中实现请求转发(curl)和请求重定向》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。