FB18 - Das Forum für Informatik

fb18.de / Off-Topic / Hard- und Softwarefragen

Php Problem

Php Problem 2006-11-25 01:19
Atomic
Ich habe ein seltsames Problem mit Php.

Zunächst was das Skript macht.
Es loggt sich auf eine Seite ein, kopiert den von mir gewünschten Text von der Seite und macht eine csv Datei daraus.

Nun zum Problem.
Der Text den mir das Php Skript anzeigt, erscheint nicht so, wie ich ihn sehe, wenn ich mich mit dem Browser auf die Seite gehe.
Also normal mit dem Browser sehe ich das: "von Mainboards über Monitore bis",
Php Skript zeigt mir folgendes an: "von Mainboards b50 über Monitore".

Ich habe keine Ahnung woran es liegen könnte.

Hier mein Http Header welchen ich sende.
================================
function PostToHost($host, $path, $referer, $data_to_send) {
$fp = fsockopen($host, 80);

fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data_to_send);

while(!feof($fp)) {
$res .= fgets($fp, 128);
}

fclose($fp);

return $res;
}

function PostToHost2($host, $path, $referer, $data_to_send, $cookie1, $cookie2) {
$fp = fsockopen($host, 80);

fputs($fp, "POST $path HTTP/1.1\r\n");
fputs($fp, "Host: $host\r\n");
fputs($fp, "Referer: $referer\r\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp, "Content-length: ". strlen($data_to_send) ."\r\n");
fputs($fp, "Cookie: JSESSIONID=\"" . $cookie1 . "\"; $Path=/; $Domain=\"XXXXXX \"; $Version=\"1\";\r\n");
fputs($fp, "Cookie: sapj2ee_*=\"" . $cookie2 . "\"; $Path=/; $Version=\"1\";\r\n");
fputs($fp, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n");
fputs($fp, "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n");
fputs($fp,"Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3\r\n");
//fputs($fp,"Accept-Encoding: gzip,deflate\r\n");
fputs($fp,"Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n");
fputs($fp,"Keep-Alive: 300\r\n");
fputs($fp,"Connection: keep-alive\r\n\r\n");
//fputs($fp, "Connection: close\r\n\r\n");
fputs($fp, $data_to_send);

while(!feof($fp)) {
$res .= fgets($fp, 128);
}

fclose($fp);

return $res;
}

================================

Das Zeigt mir Php auch an:

HTTP/1.1 200 OK Date: Sat, 25 Nov 2006 23:58:14
GMT Server: SAP J2EE Engine/6.20
Content-Type: text/html; charset=ISO-8859-1
Pragma: no-cache Cache-Control: no-cache
Expires: 0 Set-Cookie: sapj2ee_*=4502; Version=1;
Path=/ Connection: close Transfer-Encoding: chunked b50


Und hier wenn ich mich mir Firefox anmelde
=======================================

POST /b2b/b2b/login.do HTTP/1.1
Host: XXXXXXXXX
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1) Gecko/20061010 Firefox/2.0
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: https://XXXXX;jsessionid=ID4301DB0.2533769172888227End;sapj2ee_*=4301
Cookie: sapj2ee_*=4301; JSESSIONID=ID4301DB0.2533769172888227End
Content-Type: application/x-www-form-urlencoded
Content-Length: 250
browsername=mozilla%2F5.0%2520%2528windows%253B%2520u%253B%2520windows%2520nt%25205.1%253B%2520de%253B%2520rv%253A1.8.1%
2529%2520gecko%2F20061010%2520firefox%2F2.0&browsermajor=5&browserminor=5&UserId=XXXX&nolog_password=XXX&login=Anmelden
HTTP/1.x 200 OK
Date: Mon, 20 Nov 2006 18:19:25 GMT
Server: SAP J2EE Engine/6.20
Expires: 0
Content-Type: text/html; charset=ISO-8859-1
Pragma: no-cache
Cache-Control: no-cache
Content-Length: 432
Connection: close
=======================================

Könnt ihr vielleicht mir helfen?

Danke Atomic



Re: Php Problem 2006-11-25 01:40
Da:Sourcerer
Kurzer Schuß ins Blaue (weil ich auch gleich in mein Bettchen will): Verwandtes Problem?

Re: Php Problem 2006-11-25 01:42
Da:Sourcerer
Gerade gesehen: Hier ist das nochmal besser erklärt (zumindest, wenn ich das Problem richtig begriffen habe).

Re: Php Problem 2006-11-25 11:42
Anonymer User
Ohne mir jetzt alles durchgelesen zu haben, vielleicht löst ja
http://pear.php.net/package/HTTP_Client
Dein Problem…?

Re: Php Problem 2006-11-25 12:43
Atomic
Danke für die schnellen Antoworten. [img]http://www.fb18.de/gfx/14.gif[/img]
@Da:Sourcerer
Das Problem lag wirklich an Chunked Header.

RFC 2616, 3.6.1 Chunked Transfer Coding
All HTTP/1.1 applications MUST be able to receive and decode the
"chunked" transfer-coding, and MUST ignore chunk-extension
extensions
they do not understand.

Ohne erst meinen Header groß zu verändern, habe ich den Http Header auf 1.0 umgestellt.
Es funktioniert erstmal. Gibt es einen wichtigen Grund, weshalb ich trotzdem 1.1 Version benutzten sollte?


Re: Php Problem 2006-11-25 14:31
Da:Sourcerer
Eigentlich nur, wenn mehrere Domains auf einer IP gehostet werden.