Hi
This is the header that my PHP script sends via fsockopen
POST /xyz/add.aspx HTTP/1.0
Host: mywebsite.com
User-Agent=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
Accept=text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language=en-US,en;q=0.5
Accept-Encoding=gzip, deflate
Connection=keep-alive
Referer=https://www.mywebsite.com/xyz/add.aspx
Cookie=ASP.NET_SessionId=12345678910101010
Content-Type=multipart/form-data
Content-Length=17053
But it returns:
Bad Header (Invalid Header Name)
I have to do it without cURL
Please tell me what is wrong ?
Million Thanks
ZH
You have white space between Content-Type and Content-Length which should not be there.
Hi thanks for your reply.
I just removed the blank line, but the result stays the same.
Please help ! so much views and no one replied apart from just 1 ?
cpradio
November 6, 2012, 12:50pm
5
You are using = instead of : in several of your headers which isn’t allowed (based on what I see at [fphp]fsocketopen[/fphp])
@cpradio
Thanks YES, I already fixed that and also added POSTDATA: etc. That thing worked now.
But, now, the new issue is : I get this message:
<br />
<b>Warning</b>: fgets(): SSL: The operation completed successfully.
Please Help !
Post your code, as I can’t tell you what that means without seeing it.
Here is the code:
$headers = "POST /abc/add.aspx HTTP/1.1\\r\
";
$headers .= "Host: mysite.com\\r\
";
$headers .= "User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0\\r\
";
$headers .= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\\r\
";
$headers .= "Accept-Language: en-US,en;q=0.5\\r\
";
$headers .= "Accept-Encoding: gzip, deflate\\r\
";
$headers .= "Connection: keep-alive\\r\
";
$headers .= "Referer: https://www.mysite.com/abc/add.aspx\\r\
";
$headers .= "Cookie: ASP.NET_SessionId=$ASPSESS\\r\
";
$headers .= "Content-Type: multipart/form-data; boundry=".$d.$boundary."\\r\
";
$headers .= "Content-Length: $bodyLength\\r\
";
$headers .= "POSTDATA: $bodyString";
$fp = fsockopen("ssl://www.mysite.com", 443, $errno, $errstr);
if ($fp)
{
fwrite($fp, $headers);
$response = '';
while (!feof($fp))
$response .= fgets($fp);
fclose($fp);
}
What version of PHP are you running this on? A google search I ran seems to indicate this is an issue with lower versions of PHP 4, or any version of PHP that isn’t compiled with the openssl option. I’m not 100% certain yet which may be your case, or if there is another reason for this warning to be generated.
I have latest PHP version with OPENSSL installed. If openssl is not installed it shows other error message, not the one i posted.