>  기사  >  php教程  >  양식과 숨겨진 변수를 사용하지 않고 PHP 파일의 데이터를 다른 주소로 게시하는 방법

양식과 숨겨진 변수를 사용하지 않고 PHP 파일의 데이터를 다른 주소로 게시하는 방법

高洛峰
高洛峰원래의
2016-12-23 16:30:331209검색

可以使用以下函数来实现:  

function posttohost($url, $data) { 
$url = parse_url($url); 
(!$url)이 'URL을 구문 분석할 수 없음'을 반환하는 경우; 
if (!isset($url['port'])) { $url['port'] = ""; } 
if (!isset($url['query'])) { $url['query'] = ""; }  

$인코딩됨 = "";  

while (list($k,$v) = 각($data)) { 
$인코딩됨 .= ($encoded ? "&" : ""); 
$인코딩됨 .= rawurlencode($k)."=".rawurlencode($v); 
}  

$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80); 
(!$fp)가 "$url[host]에 대한 소켓을 열지 못했습니다"를 반환하는 경우;  

fputs($fp, sprintf("POST %s%s%s HTTP/1.0n", $url['path'], $url['query'] ? "?" : "", $url['쿼리'])); 
fputs($fp, "호스트: $url[host]n"); 
fputs($fp, "콘텐츠 유형: application/x-www-form-urlencodedn"); 
fputs($fp, "콘텐츠 길이: " . strlen($encoded) . "n"); 
fputs($fp, "연결: closenn");  

fputs($fp, "$encodedn");  

$line = fgets($fp,1024); 
if (!eregi("^HTTP/1.. 200", $line)) return;  

$results = ""; $inheader = 1; 
while(!feof($fp)) { 
$line = fgets($fp,1024); 
if ($inheader && ($line == "n" || $line == "rn")) { 
$inheader = 0; 

elseif (!$inheader) { 
$results .= $line; 


fclose($fp);  

$results를 반환합니다. 

?> 
---------------------------------- ------------------------------------- - 
也可以这样  

$URL="www.mysite.com/test.php"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,"https://$URL"); 
curl_setopt($ch, CURLOPT_POST, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS, "Data1=어쩌고&Data2=어쩌고"); 
curl_exec($ch); 
curl_close($ch); 
?> 


더 많은 내용이 있습니다. 🎜>

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.