Re: PHP calling an ISAPI Extension
| From: | Dan | Date: | Tue, 19 Jun 2007 18:55:17 +0000 |
| Subject: | Re: PHP calling an ISAPI Extension | ||
| References: | 1 2 3 4 5 6 7 8 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-257516@lists.php.net to get a copy of this message | ||
Whoops, it turned out just to be a line wrapping problem, it was putting an extra space in.
I have it working now, but after every request I get back the returning header in my result to it looks like this:
HTTP/1.1 200 OK
Content-Length: 184
Content-Type: text/html
Server: Microsoft-IIS/7.0
Content:
Date: Tue, 19 Jun 2007 17:20:04 GMT
The resulting page I really wished to be returned.
How do I get this not to set the return header in the $result? Or shoudl I just somehow get rid of the header after I get it? I don't know how long it is so I can't do a substring. Ideas?
""Dan"" <frozendice@gmail.com> wrote in message news:07.C6.47650.9DA08764@pb1.pair.com...
I modified your code to work with what I'm doing and this is what I got: $post_data = "name=wow&likes=true"; $fp = fsockopen("localhost",8080); fwrite($fp,"POST /Project1.dll HTTP/1.1\r\nHost: localhost\r\nContent-Length: ".strlen($post_data)."\r\n\r\n".$post_data); $result = fread($fp,102400); // Reads 100KB, change if you need more echo $result; Now when I try that I get a "Bad Request invalid header name" error. I have an IIS server running localy on port 8080, the Project1.dll is in the root directory, it contains two input components 1 a textfield to type your name, the other a checkbox called likes. What's wrong? Here's it's code: <html> <head> <title>Learning ISAPI</title> </head> <h3>Learning ISAPI!</h3> <form name="isapiform" method="POST" action="/Project1.dll"> <strong>Please enter the following information</strong> <br>Name: <input type="text" name="name"> <br><input type="checkbox" name="likes" value="true" checked> I like ISAPI!<p> <input type="submit" value="View Output"> </form> </html> "Tijnema" <tijnema@gmail.com> wrote in message news:d8269d910706190041m6e5ee258wfb95336b9c362c60@mail.gmail.com...On 6/19/07, Jim Lucas <lists@cmsws.com> wrote:I wish I could, I can't count on the script being on a linux machine. I also can't expect people to rebuild PHP with the curl library just to use my script. Is there any other way to do a post to a page from a php function? - Daniel "Jim Lucas" <lists@cmsws.com> wrote in message news:46770D93.6010003@cmsws.com...Dan wrote:Dan wrote:I would normaly do it with an AJAX call but I need to do a post from WITHIN a PHP function, so when it's doing php stuff ex. function something() { echo 'whatever'; $response = post some data to a ISAPI Extension eg. post to http://domain.com/scripts/app.dll return $response . "other data"; } ""Jay Blanchard"" <jblanchard@pocket.com> wrote in message news:56608562F6D5D948B22F5615E3F57E690245F0AC@YGEX01WAL.onecall.local... [snip] I'm in need of a way to contact an ISAPI Extension from a PHP function. Does anyone know how I would be able to do this? Usually you would post a page to their URL/actionname. Can I do a POST from a PHP function without reloading the page, and get a result back? That's one tall order. Anyone want to give it a shot? [/snip] Do the POST with an AJAX callperform an ajax call the a php script that calls curl to do a post to the ISAPI extension -- Jim Lucas "Some men are born to greatness, some achieve greatness,and some have greatness thrust upon them."Twelfth Night, Act II, Scene Vby William ShakespeareThe only method that I am aware of is the fsockopen method you mention in your other email -- Jim LucasYes, and what's wrong with it? <?php $post_data = "form_a=1&form_b=4"; $fp = fsockopen("www.domain.com",80); fwrite($fp,"POST /scripts/app.dll HTTP/1.1\r\nHost: www.domain.com\r\nContent-Length: ".strlen($post_data)."\r\n\r\n".$post_data); $result = fread($fp,102400); // Reads 100KB, change if you need more ?> That's not too long is it? Tijnema