|
Posted by "Thomas Capote" on 08/16/05 18:37
I knew my description was a bit mangled; I was trying to keep it short.
Sorry. Take two:
A "remote server" is sending event records to "my server" using HTTP POST
requests to http://my.server.com/storeit.php, let's say. The remote server
expects acknowledgement by way of a response to its request. My script
("storeit.php") must respond like it would any other page request over HTTP;
it simply uses echo/print to produce a response.
This would work fine EXCEPT that the remote server is *badly* written. Its
flaw? The HTTP headers included in my response trip it up. For some reason,
it expects just the *contents* of the response, without headers.
Here's a mock up of the current situation:
--->Received from remote server
HTTP/1.0 storeit.php POST
Content-Type: text/xml
Content-Length: 35
Host: 11.11.11.11
<DATA>
<KEY>value</KEY>
</DATA>
<--- Reply sent to remote server
HTTP/1.0 200 OK
Content-Type: text/xml
Content-Length: 34
Host: 22.22.22.22
<ACK>
<ERROR>0</ERROR>
</ACK>
What the reply needs to look like is:
<--- Reply sent to remote server
<ACK>
<ERROR>0</ERROR>
</ACK>
No headers.
-----Original Message-----
From: tg-php@gryffyndevelopment.com [mailto:tg-php@gryffyndevelopment.com]
Sent: Tuesday, August 16, 2005 11:00 AM
To: php-general@lists.php.net
Cc: thomascapote@onlinenetworks.com
Subject: Re: [PHP] How to suppress HTTP headers?
So their page POSTs to a PHP page that you've created? I'm not seeing where
headers come into play there, they're on output, not input. Maybe I just
stayed up too late last night, but I'm having trouble wrapping my brain
around the problem.
One thing I did notice was you mentioned switches for CGI vs CLI SAPI. I
expect that there wouldn't be a switch for CLI because no headers are needed
when using PHP command line, therefore nothing to turn off. Again, maybe
I'm misunderstanding the situation but thought I'd throw that thought in the
ring.
Maybe you can describe the interaction between the system you can't control
and your PHP scripts better. Walk us through it step by step.
-TG
= = = Original message = = =
I am coding a PHP page to deal with a badly implemented automated status
update script on a remote server (that I do not control) which fails if my
response to it's POST request has HTTP headers. Go figure. So the question
is "How do I NOT send HTTP headers in my response?" or "How can my script
suppress headers completely?" Whatever the solution, it should affect only
this page/script.
In chapter 43, the PHP Manual states: "Though the CGI SAPI provides a way to
suppress HTTP headers, there's no equivalent switch to enable them in the
CLI SAPI." How would one suppress HTTP headers, as noted above, in the CGI
SAPI for a particular page on my site?
Somebody, please help.
--TC.
___________________________________________________________
Sent by ePrompter, the premier email notification software.
Free download at http://www.ePrompter.com.
Navigation:
[Reply to this message]
|