很多站长朋友们都不太清楚php转发get请求,今天小编就来给大家整理php转发get请求,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 怎么php发送get请求给Java,然后返回想要的具体参数 2、 如何通过php发送https Get请求 3、 php curl如何直接转发当前php接收的headers?get请求如何直接转发get参数?post请求如何直接转发post参数? 4、 php怎么发送get/post请求 怎么php发送get请求给Java,然后返回想要的具体参数curl请求java接口,接口返回值后进行相关操作,给你贴一个curl的代码
function?ihttp_request($url,?$post?=?'',?$extra?=?array(),?$timeout?=?60)?{
$urlset?=?parse_url($url);
if?(empty($urlset['path']))?{
$urlset['path']?=?'/';
}
if?(!empty($urlset['query']))?{
$urlset['query']?=?"?{$urlset['query']}";
}
if?(empty($urlset['port']))?{
$urlset['port']?=?$urlset['scheme']?==?'https'???'443'?:?'80';
}
if?(strexists($url,?'https://')??!extension_loaded('openssl'))?{
if?(!extension_loaded("openssl"))?{
message('请开启您PHP环境的openssl');
}
}
if?(function_exists('curl_init')??function_exists('curl_exec'))?{
$ch?=?curl_init();
if?(ver_compare(phpversion(),?'5.6')?>=?0)?{
curl_setopt($ch,?CURLOPT_SAFE_UPLOAD,?false);
}
if?(!empty($extra['ip']))?{
$extra['Host']?=?$urlset['host'];
$urlset['host']?=?$extra['ip'];
unset($extra['ip']);
}
curl_setopt($ch,?CURLOPT_URL,?$urlset['scheme']?.?'://'?.?$urlset['host']?.?($urlset['port']?==?'80'???''?:?':'?.?$urlset['port'])?.?$urlset['path']?.?$urlset['query']);
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?1);
@curl_setopt($ch,?CURLOPT_FOLLOWLOCATION,?1);
curl_setopt($ch,?CURLOPT_HEADER,?1);
@curl_setopt($ch,?CURLOPT_HTTP_VERSION,?CURL_HTTP_VERSION_1_0);
if?($post)?{
if?(is_array($post))?{
$filepost?=?false;
foreach?($post?as?$name?=>?$value)?{
if?((is_string($value)??substr($value,?0,?1)?==?'@')?||?(class_exists('CURLFile')??$value?instanceof?CURLFile))?{
$filepost?=?true;
break;
}
}
if?(!$filepost)?{
$post?=?http_build_query($post);
}
}
curl_setopt($ch,?CURLOPT_POST,?1);
curl_setopt($ch,?CURLOPT_POSTFIELDS,?$post);
}
if?(!empty($GLOBALS['_W']['config']['setting']['proxy']))?{
$urls?=?parse_url($GLOBALS['_W']['config']['setting']['proxy']['host']);
if?(!empty($urls['host']))?{
curl_setopt($ch,?CURLOPT_PROXY,?"{$urls['host']}:{$urls['port']}");
$proxytype?=?'CURLPROXY_'?.?strtoupper($urls['scheme']);
if?(!empty($urls['scheme'])??defined($proxytype))?{
curl_setopt($ch,?CURLOPT_PROXYTYPE,?constant($proxytype));
}?else?{
curl_setopt($ch,?CURLOPT_PROXYTYPE,?CURLPROXY_HTTP);
curl_setopt($ch,?CURLOPT_HTTPPROXYTUNNEL,?1);
}
if?(!empty($GLOBALS['_W']['config']['setting']['proxy']['auth']))?{
curl_setopt($ch,?CURLOPT_PROXYUSERPWD,?$GLOBALS['_W']['config']['setting']['proxy']['auth']);
}
}
}
curl_setopt($ch,?CURLOPT_CONNECTTIMEOUT,?$timeout);
curl_setopt($ch,?CURLOPT_TIMEOUT,?$timeout);
curl_setopt($ch,?CURLOPT_SSL_VERIFYPEER,?false);
curl_setopt($ch,?CURLOPT_SSL_VERIFYHOST,?0);
curl_setopt($ch,?CURLOPT_SSLVERSION,?1);
if?(defined('CURL_SSLVERSION_TLSv1'))?{
curl_setopt($ch,?CURLOPT_SSLVERSION,?CURL_SSLVERSION_TLSv1);
}
curl_setopt($ch,?CURLOPT_USERAGENT,?'Mozilla/5.0?(Windows?NT?6.1;?WOW64;?rv:9.0.1)?Gecko/20100101?Firefox/9.0.1');
if?(!empty($extra)??is_array($extra))?{
$headers?=?array();
foreach?($extra?as?$opt?=>?$value)?{
if?(strexists($opt,?'CURLOPT_'))?{
curl_setopt($ch,?constant($opt),?$value);
}?elseif?(is_numeric($opt))?{
curl_setopt($ch,?$opt,?$value);
}?else?{
$headers[]?=?"{$opt}:?{$value}";
}
}
if?(!empty($headers))?{
curl_setopt($ch,?CURLOPT_HTTPHEADER,?$headers);
}
}
$data?=?curl_exec($ch);
$status?=?curl_getinfo($ch);
$errno?=?curl_errno($ch);
$error?=?curl_error($ch);
curl_close($ch);
if?($errno?||?empty($data))?{
return?error(1,?$error);
}?else?{
return?ihttp_response_parse($data);
}
}
$method?=?empty($post)???'GET'?:?'POST';
$fdata?=?"{$method}?{$urlset['path']}{$urlset['query']}?HTTP/1.1\r\n";
$fdata?.=?"Host:?{$urlset['host']}\r\n";
if?(function_exists('gzdecode'))?{
$fdata?.=?"Accept-Encoding:?gzip,?deflate\r\n";
}
$fdata?.=?"Connection:?close\r\n";
if?(!empty($extra)??is_array($extra))?{
foreach?($extra?as?$opt?=>?$value)?{
if?(!strexists($opt,?'CURLOPT_'))?{
$fdata?.=?"{$opt}:?{$value}\r\n";
}
}
}
$body?=?'';
if?($post)?{
if?(is_array($post))?{
$body?=?http_build_query($post);
}?else?{
$body?=?urlencode($post);
}
$fdata?.=?'Content-Length:?'?.?strlen($body)?.?"\r\n\r\n{$body}";
}?else?{
$fdata?.=?"\r\n";
}
if?($urlset['scheme']?==?'https')?{
$fp?=?fsockopen('ssl://'?.?$urlset['host'],?$urlset['port'],?$errno,?$error);
}?else?{
$fp?=?fsockopen($urlset['host'],?$urlset['port'],?$errno,?$error);
}
stream_set_blocking($fp,?true);
stream_set_timeout($fp,?$timeout);
if?(!$fp)?{
return?error(1,?$error);
}?else?{
fwrite($fp,?$fdata);
$content?=?'';
while?(!feof($fp))
$content?.=?fgets($fp,?512);
fclose($fp);
return?ihttp_response_parse($content,?true);
}
}
如何通过php发送https Get请求<?php
//?使用?file_get_contents()?发送GET请求非常简单
$url?=?"";??//?请求的地址
$response?=?file_get_contents($url);??//?发送请求
echo?$response;???//?打印结果
php curl如何直接转发当前php接收的headers?get请求如何直接转发get参数?post请求如何直接转发post参数?本文实例讲述了php使用CURL模拟GET与POST向微信接口提交及获取数据的方法。分享给大家供大家参考,具体如下:
php CURL函数可以模仿用户进行一些操作,如我们可以模仿用户提交数据也可以模仿用户进行网站访问了,下面我们来介绍利用CURL模拟进行微信接口的GET与POST例子,例子非常的简单就两个:
Get提交获取数据
/**
* @desc 获取access_token
* @return String access_token
*/
function getAccessToken(){
$AppId = '1232assad13213123';
$AppSecret = '2312312321adss3123213';
$getUrl = 'htq测试数据/cgi-bin/token?grant_type=client_credentialappid='.$AppId.'secret='.$AppSecret;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $getUrl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURL_SSLVERSION_SSL, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$data = curl_exec($ch);
$response = json_decode($data);
return $response->access_token;
}
post提交获取数据
/**
* @desc 实现天气内容回复
*/
public function testWeixin(){
$access_token = $this->getAccessToken();
$customMessageSendUrl = 'ht.qq测试数据/cgi-bin/message/custom/send?access_token='.$access_token;
$description = '今天天气的详细信息(从第三方获取)。';
$url = ttpr测试数据/';
$picurl = 'her测试数据/';
$postDataArr = array(
'touser'=>'OPENID',
'msgtype'=>'news',
'news'=>array(
'articles'=>array(
'title'=>'当天天气',
'description'=>$description,
'url'=>$url,
'picurl'=>$picurl,
),
),
);
$postJosnData = json_encode($postDataArr);
$ch = curl_init($customMessageSendUrl);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postJosnData);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$data = curl_exec($ch);
var_dump($data);
}
例子相对来说比较简单也没有什么好详细分析的了,大家照抄就可以实现我们想要的功能了.
php怎么发送get/post请求用fopen打开url, 以get方式获取内容:
<?php
$fp = fopen($url, ‘r’);
stream_get_meta_data($fp);
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
echo “url body: $result”;
fclose($fp);
?>希望能帮到你,我还要抓紧时间自己在后盾人自己学习呢,有不会的可以问我,咱俩一起研究研究。??(ˊωˋ*)??
关于php转发get请求的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php转发get请求 php实现数据转发的详细内容...