php 中发送get请求,后台无法获取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 中发送get请求,后台无法获取相关的知识,希望对你有一定的参考价值。
用下面代码发,后台可正常获取参数
$url = "http://127.0.0.1:90/1/api/api.php?username=".$_POST["username"]."&password=".$_POST["password"]."&ip=".$ip;
//echo '<script>window.location.href="'.$url.'"; </script>';
用下面代码发,后台获取不到信息
$url = "http://127.0.0.1:90/1/api/api.php?username=".$_POST["username"]."&password=".$_POST["password"]."&ip=".$ip;
$curl=curl_init();
curl_setopt($curl,CURLOPT_RETURNTRANSFER,0);
curl_setopt($curl,CURLOPT_HEADER,0 ) ;
curl_setopt($curl,CURLOPT_URL,$url);
$result=curl_exec($curl);
curl_close($curl);
后台代码
<?php
date_default_timezone_set("Asia/Shanghai");
$username = isset($_GET['username'])?$_GET['username']:"";
$password = isset($_GET['password'])?$_GET['password']:"";
echo "get ok";
?>
前端用第一种方式会把后台的 “get ok”显示出来
我的需求是不想显示get ok信息,并且在发送get请求之后,跳转到另一个页面,请问该怎么做啊
针对你说的方式,我分两个来回答,第一种方法,你把后台代码那个echo \'get ok\'去掉,然后把前台发送的那个注释去掉,应该就能跳转了;第二种方法,你只是接收了参数,又没有返回任何值,当然判断不了是否又没有接收成功,你应该随便返回一个值,证明代码是能走通的,思路是这样,希望对你有帮助
参考技术A 把输出注释掉然后换成跳转语句就行了啊……好简单的样子追问不好意思,我用的就是注释中的代码做的测试,发出来的时候忘记把注释去掉了。。。换成跳转语句是什么意思,现在用注释中的代码,会得到服务器的返回值,并在页面上显示出来,我就是不想让返回值显示出来,要怎么做?
追答就是重定向啊,你自己去查手册,有很多方法
使用带参数的 file_get_contents 从 PHP 获取请求
【中文标题】使用带参数的 file_get_contents 从 PHP 获取请求【英文标题】:GET Request from PHP using file_get_contents with parameters 【发布时间】:2011-11-13 05:57:31 【问题描述】:我想向外部站点发送 GET 请求,但也想发送一些参数
例如,我必须向 example.com 发送 get 请求
我想执行 www.example.com/send.php?uid=1&pwd=2&msg=3&phone=3&provider=xyz
我的代码是:
$getdata = http_build_query(
array(
'uid' => '1',
'pwd' => '2',
'msg'=>'3',
'phone'=>'9999',
'provider'=>'xyz'
)
);
$opts = array('http' =>
array(
'method' => 'GET',
'content' => $getdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://example.com/send.php', false, $context);
我收到服务器错误。
【问题讨论】:
服务器错误说什么? 【参考方案1】:content
选项用于POST
和PUT
请求。对于GET
,您可以将其附加为查询字符串:
file_get_contents('http://example.com/send.php?'.$getdata, false, $context);
此外,method
默认为GET
,因此您甚至不需要设置选项,也不需要创建流上下文。因此,对于这种特殊情况,如果您愿意,可以简单地使用第一个参数调用 file_get_contents
。
【讨论】:
感谢您的回复:之前的代码正在向服务器发送一些数据,但请求没有得到正确处理。但是,使用您建议的代码并出现错误“HTTP Error 1.1” cURL 在处理这类请求等方面不是更好吗? @redskin 你能帮我解决一下 cURL 吗?谢谢 确定人.. 加我Skype @ redskins80。如果我在线,不要犹豫发送一个嗡嗡声! @Anant 1.1 错误? 500?这可能与脚本的接收部分有关。检查你的 php 日志以上是关于php 中发送get请求,后台无法获取的主要内容,如果未能解决你的问题,请参考以下文章
php如何通过get方法发送http请求,并且得到返回的参数
使用带参数的 file_get_contents 从 PHP 获取请求