문제

나는 뛰고있어 /usr/bin/perl 또는 /usr/bin/php Nstask를 통해 프로그램의 HTTP 헤더를 검색하려고합니다. 환경을 올바르게 포맷했습니다 (Perl HTTP_), 그러나 작업 중 어느 것도 원시 출력 이외의 다른 것을 반환하지 않습니다. NSTASK와 PHP 및 PERL의 MAN 페이지에 대한 문서를 살펴보고 HTTP 헤더의 출력을 강요 할 수있는 방법을 보지 못했습니다.

어떤 아이디어?

편집하다: 나는 이것이 고대의 질문이라는 것을 알고 있지만, 나는 단지 그것을 재발견하고 다시보고해야한다는 것을 깨달았습니다. 문제는 내가 사용해야한다는 것입니다 php-cli, 그렇지 않습니다 php. 다운로드하고 컴파일해야했습니다 php-cli 소스에서 내가 기대했던대로 이것을 작동시키기 위해. 그러나 일단 내가 한 후에는 매력처럼 작동했습니다. :)

도움이 되었습니까?

해결책

PERL 또는 PHP 스크립트의 원시 출력을 기반으로 구축 한 HTTP 헤더로 출력을 접두사해야 할 수도 있습니다.

예를 들어, PHP 스크립트의 원시 출력은 Content-Type : Text/HTML이라는 것을 알고 있으며 출력 자체에서 길이를 얻을 수 있습니다. 적어도 나는 그것이 비슷한 솔루션을 구현할 때 내가 한 일이라고 생각합니다.

다른 팁

다른 프로세스의 환경을 보거나 변경할 수 없습니다. 예외는 아동 프로세스의 환경을 변경할 수 있지만 해당 프로세스를 만들 때만 가능합니다. 따라서 PERL 또는 PHP 하위 프로세스의 초기 환경을 설정할 수 있지만 나중에 어떤 환경이 있는지 읽을 수 없으며, 종료했을 때 어떤 환경이 있었는지 확실히 볼 수 없습니다.

PERL 또는 PHP 스크립트를 어떤 형식으로 환경으로 출력하고 파이프를 통해 코코아 프로세스에이를 읽어야합니다.

스크립트가 터미널에서 실행할 때 헤더를 인쇄합니까? 그렇다면 아마도 사용합니다 -[NSTask setStandard*:] (아마도 nspipe를 사용 할 수 있음)는 출력을 캡처하는 데 도움이 될 수 있습니다. 그렇지 않은 경우 웹 서버가 CGI를 처리 할 때 헤더를 주입 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top