很多站长朋友们都不太清楚php处理http请求,今天小编就来给大家整理php处理http请求,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 PHP中如何发送HTTP请求 2、 php如何发送带中文的http请求? 3、 php怎么响应客户端发送http请求 4、 php处理微信小程序request请求 5、 怎么用PHP发送HTTP请求 PHP中如何发送HTTP请求我觉得你这个正确,一眼看不出错在哪里,如果是我我就不检查了,我下面粘贴一个我使用正常的函数,你直接调用函数就可以了,调用语句可以这样:
$A=trim(urlencode($_REQUEST['A']));
$B=trim(urlencode($_REQUEST['B']));
$params="A=$AB=$B";
list($body,$header)=http_request('','POST',$params);
如果你无需检查返回结果,那就这样也可以:
http_request('','POST',$params);
函数定义如下:
//执行HTTP请求
function http_request($url,$method='GET',$data='',$cookie='',$refer=''){
$header='';
$body='';
$newcookie='';
if (preg_match('/^http:\/\/(.*?)(\/.*)$/',$url,$reg)){$host=$reg[1]; $path=$reg[2];}
else {outs(1,"URL($url)格式非法!"); return;}
$http_host=$host;
if (preg_match('/^(.*):(\d+)$/', $host, $reg)) {$host=$reg[1]; $port=$reg[2];}
else $port=80;
$fp = fsockopen($host, $port, $errno, $errstr, 30);
if (!$fp) {
outs(1,"$errstr ($errno)\n");
} else {
fputs($fp, "$method $path HTTP/1.1\r\n");
fputs($fp, "Host: $http_host\r\n");
if ($refer!='') fputs($fp, "Referer: $refer\r\n");
if ($cookie!='') fputs($fp, "Cookie: $cookie\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ".strlen($data)."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data . "\r\n\r\n");
$header_body=0;
$chunked_format=0;
$chunked_len=0;
while (!feof($fp)) {
$str=fgets($fp);
//$len=hexdec($str); if ($header_body==1) {echo ">>$str\t$len\n"; $str=fread($fp,$len);echo $str;}
if ($header_body==1){
if ($chunked_format){
if ($chunked_len<=0){
$chunked_len=hexdec($str);
if ($chunked_len==0) break;
else continue;
} else {
$chunked_len-=strlen($str);
if ($chunked_len<=0) $str=trim($str);
//elseif ($chunked_len==0) fgets($fp);
}
}
$body.=$str;
}
else if ($str=="\r\n") $header_body=1;
else {
$header.=$str;
if ($str=="Transfer-Encoding: chunked\r\n") $chunked_format=1;
if (preg_match('|Set-Cookie: (\S+)=(\S+);|',$str,$reg)) $newcookie.=($newcookie==''?'':'; ').$reg[1].'='.$reg[2];
}
}
fclose($fp);
}
$GLOBALS['TRAFFIC']+=414+strlen($url)+strlen($data)+strlen($header)+strlen($body);
if (preg_match('/^Location: (\S+)\r\n/m',$header,$reg)) {
if (substr($reg[1],0,1)!='/'){
$path=substr($path,0,strrpos($path,'/')+1);
$path.=$reg[1];
} else $path=$reg[1];
if ($newcookie) $cookie=$newcookie;
return http_request('http://'.$http_host.$path,'GET','',$cookie,$url);
}
return array($body, $header, $newcookie);
}
php如何发送带中文的http请求?直接发送就好了,对于http请求分为get和post都是支持中文的,已变量的方式发送就行,服务器会自动进行编码的,不需要多做什么处理。
php怎么响应客户端发送http请求使用$_POST['参数名']处理post方法提交的参数,$_GET['参数名']处理get方法参数.
eg:
如果url 为: index.html?name=123pwd=123
<?php
$name = $_GET['name'];
$pwd = $_GET['pwd'];
do something;
?>
如果url 为: index.html
name=123pwd=123
<?php
$name = $_POST['name'];
$pwd = $_POST['pwd'];
do something;
?>
如果只是处理如何要跳转到其他页面,可以用header("Location: 文件名");
如果是网页和php混合,在需要使用<?php php语句;?>处理就行;使用echo可以输出一些值到网页中.
php处理微信小程序request请求微信小程序的js后台只能执行一些简单的逻辑,遇到比较复杂的处理表单数据的功能或者网络功能就需要连接服务器来远程处理,实现方式就是调用小程序的 wx.request() 这一接口。
request请求 就是基本的HTTP请求,可以携带一些表单数据,交给服务器处理。
在小程序中的写法如下:
采用php作为服务器端语言,通过WAMP等框架可以很容易地搭建环境,服务器主要完成对请求数据的处理以及结果数据的返回。
请求数据的获取非常容易,直接访问相应的超全局数组,对于GET方法而言,通过下面的方式即可:
为了方便小程序端数据的处理,结果数据仍通过json格式返回,具体在php中的简单做法就是
这样返回的json数据就为
其中value1,value2等变量可以设置为多维数组,这样通过json_encode() 函数之后就可以得到相应的嵌套的json数据,从而方便处理。
通过php可以很容易地处理微信小程序的request请求,笔者是由于前一段时间需要进行微信小程序的开发,就研究了一下小程序的逻辑,然后尝试用php进行服务端处理,对于简单的请求处理起来觉得还不错,这篇文章可以作为初次接触微信小程序的一个参考。
怎么用PHP发送HTTP请求可以使用 curl_ 系列函数,使用curl请求一个链接,就相当于发送了HTTP请求。
具体可以参考:
《PHP cURL 应用》
关于php处理http请求的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php处理http请求的简单介绍的详细内容...