PHP

소켓 이용 http POST 전송

씨엔아이소프트 2021. 11. 21. 19:08
반응형

소켓 이용  http POST 전송 예 입니다.

 

function post_request($url, $data, $referer='') {

$data = http_build_query($data);
$url = parse_url($url);

if ($url['scheme'] != 'http') { 
        exit();
    }

$host = $url['host'];
    $path = $url['path'];

    $fp = fsockopen($host, 80, $errno, $errstr, 30);
 
    if($fp){
        fputs($fp, "POST $path HTTP/1.1\r\n");
        fputs($fp, "Host: $host\r\n");
        fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
        fputs($fp, "Content-length: ". strlen($data) ."\r\n");
        fputs($fp, "Connection: close\r\n\r\n");
        fputs($fp, $data);
    }
    else { 
        return 'err';
    }
 
    fclose($fp);
    return 'ok';
}

$data = array(
'name1' => 'value1',
'name1' => 'value2',
'name1' => 'value3'
);

$request_data = post_request('www.url.com', $data);

if ($request_data == 'ok'){
    echo '성공'; 
}
else {
    echo '에러';
}
반응형