php get/post 提交数据

//GET方式
function getSMS($url,$data='')
{
	$get='';
	while (list($k,$v) = each($data)) 
	{
		$get .= $k."=".urlencode($v)."&";	//转URL标准码
	}
	return file_get_contents($url.'?'.$get);
}
 //POST方式
function postSMS($url,$data='')
{
	$row = parse_url($url);
	$host = $row['host'];
	$port = $row['port'] ? $row['port']:80;
	$file = $row['path'];
	while (list($k,$v) = each($data)) 
	{
		$post .= rawurlencode($k)."=".rawurlencode($v)."&";	//转URL标准码
	}
	$post = substr( $post , 0 , -1 );
	$len = strlen($post);
	$fp = @fsockopen( $host ,$port, $errno, $errstr, 10);
	if (!$fp) {
		return "$errstr ($errno)\n";
	} else {
		$receive = '';
		$out = "POST $file HTTP/1.1\r\n";
		$out .= "Host: $host\r\n";
		$out .= "Content-type: application/x-www-form-urlencoded\r\n";
		$out .= "Connection: Close\r\n";
		$out .= "Content-Length: $len\r\n\r\n";
		$out .= $post;		
		fwrite($fp, $out);
		while (!feof($fp)) {
			$receive .= fgets($fp, 128);
		}
		fclose($fp);
		$receive = explode("\r\n\r\n",$receive);
		unset($receive[0]);
		return implode("",$receive);
	}
}

备注:postSMS() 方法中,如果是php5.6 的版本,由于不支持 list() 所以只能换成foreach()

方法如下: 

function postSMS($url,$data='')  
{  
    $row = parse_url($url);  
    $host = $row['host'];  
    $port = $row['port'] ? $row['port']:80;  
    $file = $row['path'];  
    foreach ($data as $k=>$v)   
    {  
        $post .= rawurlencode($k)."=".rawurlencode($v)."&"; //转URL标准码  
    } 
    $post = substr( $post , 0 , -1 );  
    $len = strlen($post);  
    $fp = @fsockopen( $host ,$port, $errno, $errstr, 10);  
    if (!$fp) {  
        return "$errstr ($errno)\n";  
    } else {  

        $receive = '';  
        $out = "POST $file HTTP/1.1\r\n";  
        $out .= "Host: $host\r\n";  
        $out .= "Content-type: application/x-www-form-urlencoded\r\n";  
        $out .= "Connection: Close\r\n";  
        $out .= "Content-Length: $len\r\n\r\n";  
        $out .= $post;        
        fwrite($fp, $out);  
        while (!feof($fp)) {  
            $receive .= fgets($fp, 128);  
        }    
        $receive = explode("\r\n\r\n",$receive);
        unset($receive[0]);  
        return implode("",$receive);  
    }  
}  

或者用:

function request_post($postUrl='', $curlPost='') 
    {
        if (empty($postUrl) || empty($curlPost)) :
            return false;
        endif;
        
        $ch = curl_init();//初始化curl
        curl_setopt($ch, CURLOPT_URL,$postUrl);//抓取指定网页
        curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求返回的内容作为变量储存
        curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
        curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
        $data = curl_exec($ch);//运行curl
        curl_close($ch);
        
        return $data;
    }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值