>백엔드 개발 >PHP 튜토리얼 >PHP가 POST 요청을 보냅니다.

PHP가 POST 요청을 보냅니다.

WBOY
WBOY원래의
2016-07-29 09:02:06996검색
  1. /**
  2. * 게시물 요청 보내기
  3. * @param string $url 요청 주소
  4. * @param 배열 $post_data 게시 키-값 쌍 데이터
  5. * @return 문자열
  6. */  
  7. 기능 send_post( $url$post_data) {  
  8.   
  9.   $postdata = http_build_query($post_data);  
  10.   $options = 배열(  
  11.     'http' =>  배열(  
  12.       '메서드' => 'POST',  
  13.       '헤더' =>  '콘텐츠 유형:application/x-www-form-urlencoded',  
  14.       '콘텐츠' =>  $postdata,  
  15.       '시간 초과' => 15 * 60 // 超时时间(单位:s)  
  16.     )  
  17.   );  
  18.   $context = stream_context_create($options);  
  19.   $result = file_get_contents($url, false, $context);  
  20.   
  21.   반환 $결과;  
  22. }  
  23.   
  24. //使사용방법  
  25. $ post_data = 배열(  
  26.   '사용자 이름' => 'stclair2201',  
  27.   '비밀번호' =>  '한단'  
  28. );  
  29. send_post('http://www.qianyunlai.com'$post_data);  
  30.   
  31.   
  32.   
  33.   
  34. /**
  35. * 소켓버전
  36. * 사용방법 :
  37. * $post_string = "app=socket&version=beta";
  38. * request_by_socket('chajia8.com' , '/restServer.php', $post_string);
  39. */  
  40. 함수 request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$timeout = 30) {  
  41.   $socket = fsockopen($remote_server$port$errno$errstr$timeout);  
  42.   if (!$socket죽음("$errstr($errno)");  
  43.   fwrite($socket"POST $remote_path HTTP/1.0");  
  44.   fwrite($socket"사용자 에이전트: 소켓 예");  
  45.   fwrite($socket"HOST: $remote_server");  
  46.   fwrite($socket"콘텐츠 유형: application/x-www-form-urlencoded");  
  47.   fwrite($socket"콘텐츠 길이: " . (strlen($post_string ) + 8) .  "");  
  48.   fwrite($socket"수락:*/*");  
  49.   fwrite($socket"");  
  50.   fwrite($socket"mypost=$post_string");  
  51.   fwrite($socket"");  
  52.   $header = "";  
  53.   동안 ($str = trim(fgets($socket, 4096) )) {  
  54.     $header .= $str;  
  55.   }  
  56.   
  57.   $data = " ";  
  58.   동안 (!feof($socket)) {  
  59.     $data .= fgets($socket, 4096);  
  60.   }  
  61.   
  62.   반품 $data;  
  63. }  
  64. ?>  
  65.   
  66. /**
  67. * Curl 버전
  68. * 사용법:
  69. * $post_string = "app=request&version=beta"; ,
  70. $post_string
  71. ) */  
  72. 함수 request_by_curl(
  73. $remote_server
  74. $post_string) {   $ch = curl_init();  
  75.   curl_setopt($ch, CURLOPT_URL, 
  76. $remote_server
  77. );    curl_setopt($ch, CURLOPT_POSTFIELDS, 
  78. 'mypost='
  79.  . $post_string);    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  
  80.   curl_setopt($ch, CURLOPT_USERAGENT, 
  81. "qianyunlai.com의 CURL 예제 베타"
  82. );    $data = curl_exec(
  83. $ch
  84. );    curl_close($ch);  
  85.   
  86.   반환 
  87. $data
  88. ;  }  
  89. ?>  
  90. 원문지址:http://blog.sjzycxx.cn/post/435/

以上就介绍了PHP发送POST请求, 包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

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