>백엔드 개발 >PHP 튜토리얼 >PHP 유틸리티 함수: stream_context_create는 POST/GET을 시뮬레이션합니다.

PHP 유틸리티 함수: stream_context_create는 POST/GET을 시뮬레이션합니다.

WBOY
WBOY원래의
2016-08-08 09:23:06910검색

PHP 실용 함수 매뉴얼: stream_context_create()는 POST/GET을 시뮬레이션합니다

때때로 서버 측에서 POST/GET 및 기타 요청을 시뮬레이션해야 합니다. PHP 프로그램에서 시뮬레이션을 구현하는 방법은 무엇입니까? 즉, PHP 프로그램에서 배열이 주어지면 이 배열을 다른 주소로 어떻게 POST/GET합니까? 물론 CURL을 사용하면 쉽지만, CURL 라이브러리를 사용하지 않는다면 어떻게 될까요? 사실 PHP에는 이미 관련 함수가 구현되어 있는데, 이 함수가 다음에 이야기할 stream_context_create() 입니다.
코드를 직접 보여주세요. 이것이 가장 좋은 방법입니다.
$data = array( 'foo'=>'bar', 'baz'=>'boom', 'site'=>'www.lai18.com', 'name'=>'lai18'); $data = http_build_query($data); //$postdata = http_build_query($data); $options = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type:application/x-www-form-urlencoded', 'content' => $data //'timeout' => 60 * 60 // 超时时间(单位:s) ) ); $url = "http://www.lai18.net/"; $context = stream_context_create($options); $result = file_get_contents($url, false, $context); echo $result;<br>http://www.lai18.com의 코드는 다음과 같습니다. <br><precourier new margin-top:0px margin-bottom:10px line-height:20px word-break:break-all word-wrap:break-word white-space:pre-wrap background-color:rgb>$data = $_POST; echo '<pre class="brush:php;toolbar:false">'; print_r( $data ); echo '';
실행 결과 는 :
Array ( [foo] => bar [baz] => boom [site] => www.lai18.com [name] => lai18 )
설명할 핵심 사항(참조: http://www.lai18.com/content/425476.html):
1. http_build_query() 함수를 사용하는데, 더 알고 싶다면 스트림(stream)을 참조하세요. 이는 파일 시스템에서도 사용할 수 있습니다. 파일 핸들 없이 파일 이름에 직접 작동하는 file_get_contents, file_put_contents 및 readfile과 같은 함수에 더 유용합니다. stream_context_create에 헤더를 추가하는 것은 함수의 일부일 뿐이며 프록시, 시간 초과 등을 정의할 수도 있습니다. 이는 웹에 접근하는 기능을 컬보다 약하지 않게 만든다.
4. stream_context_create() 기능: 텍스트 데이터 스트림을 생성하고 반환하며 다양한 옵션을 적용합니다. fopen(), file_get_contents()의 시간 초과 설정, 프록시 서버, 요청 방법 및 헤더 정보 설정에 사용할 수 있습니다. 그리고 다른 과정.
5. stream_context_create는 시간 초과 옵션을 추가하여 file_get_contents 시간 초과 처리를 해결할 수도 있습니다.
$opts = array( 'http'=>array( 'method'=>"GET", 'timeout'=>60, ) ); //创建数据流上下文 $context = stream_context_create($opts); $html =file_get_contents('http://www.lai18.com', false, $context); //fopen输出文件指针处的所有剩余数据: //fpassthru($fp); //fclose()前使用

확장 읽기

이 문서의 주제 목록은 다음과 같습니다.

1 PHP 함수 완성: get_magic_quotes_gpc()

2 PHP 함수 완성: error_reporting()

3 PHP 함수 완성: array_splice()

4 PHP 함수 완성: isset()

5 PHP 함수 완성: array_multisort()

6 PHP 함수 완성: urlencode()

7 PHP 함수 완성: preg_match()

8 PHP 함수 완성: header()

9 PHP 함수 완성: getenv()

10 PHP 함수 완성: list()

11 PHP 함수 완성: mysql_num_rows()

12 PHP 함수 완성:Explode()

13 PHP 함수 완성: mysql_fetch_array()

14 PHP 함수 완성: number_format()

15 PHP 함수 완성: mysql_query()

16PHP 함수 완성:empty()

17 PHP 함수 완성: call_user_func()

18 PHP 함수 완성:parse_url()

19 PHP 함수 완성: import_request_variables()

20 PHP 함수 완성: ImageCopyResamples()

21 PHP 함수 완성: HTML 태그 제거 Strip_tags()

22 PHP 함수 완성: 출력 배열 구조 및 내용 var_dump()

23 PHP 함수 완성: var_export()

24 PHP 함수 완성: 판단 변수가 숫자인지 여부 is_numeric()

25 PHP 함수 완성: http_build_query() URL 문자열 구성

26PHP 실무 함수 설명서: stream_context_create( ) POST/GET 시뮬레이션

27 PHP 함수 완성: shuffle()은 배열에서 여러 임의 요소를 가져옵니다.

28 PHP 함수 완성: session_id()

29 PHP 함수 완성: nl2br() 및 nl2p() 함수

30 PHP 함수 완성: session_name()

31 PHP 예약 작업 무시_user_abort 함수 구현 방법

32 PHP에서 error_log() 함수 사용 방법

33PHP 유틸리티 함수-array_change_key_case()는 배열의 키를 대문자와 소문자로 변환합니다

34PHP 유틸리티 function-function_exists() 함수가 정의되었는지 확인

35PHP 유틸리티 function-array_intersect()는 둘 이상의 배열의 교집합을 계산합니다

36PHP 유틸리티 함수-array_diff()는 배열을 계산합니다

37PHP 유틸리티 함수-compact()는 알려진 변수를 배열로 변환합니다

38PHP 유틸리티 함수- extract()는 배열을 해당 키 값으로 변환합니다. 변수

39PHP 유틸리티 함수-array_count_values()는 배열에서 요소의 발생 횟수를 계산합니다

40PHP 유틸리티 함수- getopt()는 명령줄 매개변수 목록에서 옵션을 가져옵니다

41 PHP 실용적인 함수 문자열 함수 분류

42 데이터 확인을 위해 PHP 자체 필터 기능 사용

위 내용은 PHP의 실용적인 기능을 소개합니다. stream_context_create는 내용을 포함하여 POST/GET을 시뮬레이션합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

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