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
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