PHP模拟post,get

原创 2012年03月30日 16:12:02
post调用
$URL = 'http://xx/xx/xx/'; //需要提交到的页面
//下面这段是要提交的数据
$post_data['email'] = $_POST['email'];
$post_data['password'] = $_POST['password'];
echo get_postData($URL,$post_data);


get调用
$URL = 'http://xx/xx/xx/?token='.$token; //需要提交到的页面
echo get_getData($URL);



function get_getData($URL){
$ch = curl_init($URL) ;
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
$output = curl_exec($ch) ;
curl_close($fch) ;
return $output;
}




function get_postData($URL,$post_data){
$referrer="";
$URL_Info=parse_url($URL);
if($referrer==""){
    $referrer=$_SERVER["SCRIPT_URI"];
}
foreach ($post_data as $key=>$value){
    $values[]="$key=".urlencode($value);
}

$data_string=implode("&",$values);
if (!isset($URL_Info["port"])) {
$URL_Info["port"]=80;
$request.="POST ".$URL_Info["path"]." HTTP/1.1\n";
$request.="Host: ".$URL_Info["host"]."\n";
$request.="Referer: $referrer\n";
$request.="Content-type: application/x-www-form-urlencoded\n";
$request.="Content-length: ".strlen($data_string)."\n";
$request.="Connection: close\n";
$request.="\n";
$request.=$data_string."\n";
}
$fp = fsockopen($URL_Info["host"], $URL_Info["port"]);
fputs($fp, $request);
$i = 0;
while(!feof($fp)) {
$result = fgets($fp, 1024);
$length = strlen($result);
$s1 = substr($result, 0, 1);
$s2 = substr($result, $length - 3, 1);
if($s1 == '{' && $s2 == '}')
$resultover = $result;
}

fclose($fp);
return $resultover;
}
 
 
 
 
 
 
 

PHP模拟GET和POST提交数据

/* *@param String $url是请求地址 *@param Array $getData 是GET数据 *@param Array $postData ...
  • risingsun001
  • risingsun001
  • 2014年11月04日 15:35
  • 1669

php (带cookie)模拟get/post 方法下载excel

//post function curl_post($header,$data,$url) { $ch = curl_init(); $res= curl_setopt (...
  • xiawu1990
  • xiawu1990
  • 2016年12月19日 17:35
  • 813

PHP:CURL分别以GET、POST方式请求HTTPS协议接口api

PHP:CURL分别以GET、POST方式请求HTTPS协议接口api 1、curl以GET方式请求https协议接口 //注意:这里的$url已经包含参数了,不带参数你自...
  • qq_20259383
  • qq_20259383
  • 2017年09月18日 17:21
  • 822

CURL封装的php http和https请求网页模拟post get函数

/************************* CURL *******************************/ //CURL 获此网页内容 function curl_get_co...
  • q616804668
  • q616804668
  • 2015年02月15日 13:15
  • 2628

php http发送get、post请求的几种方法

方法1: 用file_get_contents 以get方式获取内容   方法2: 用fopen打开url, 以get方式获取内容 ...
  • u012366662
  • u012366662
  • 2016年10月12日 20:52
  • 8338

file_get_contents模拟GET/POST请求

模拟GET请求:GET请求就是在访问URL的时候加上参数即可,我们首先使用http_build_query方法将数组转化为url参数,然后使用file_get_contents获取内容即可。get.p...
  • koastal
  • koastal
  • 2016年03月11日 15:39
  • 4429

模拟post,get请求的工具

1.浏览器插件一般是使用插件的,个人感觉最好用的是chrome下的Postman或DHC;firefox下还可以使用RESTClient。 2.客户端工具 HTTPieHTTPie是非常好的模拟请求工...
  • gaokao2011
  • gaokao2011
  • 2016年08月16日 10:33
  • 1175

php模拟post提交请求,调用接口

/** * 模拟post进行url请求 * @param string $url * @param string $param */ function ...
  • yongzhen150
  • yongzhen150
  • 2015年10月21日 16:33
  • 2532

PHP 版HTTP GET,POST,上传文件

  • kevin_Luan
  • kevin_Luan
  • 2015年12月18日 22:16
  • 1643

phpstorm表单递交post出错get正确的解决方法

好吧,这是我第二次因为这个问题搞得凌晨才睡觉,这次一定要记录下来!phpstorm版本2016.1.1问题详细描述:在html写好表单之后以post方式递交给php文件,返回结果在谷歌浏览器是“Aut...
  • u010430471
  • u010430471
  • 2016年05月28日 02:38
  • 3934
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP模拟post,get
举报原因:
原因补充:

(最多只允许输入30个字)