sockets
Ik heb het script van deze tutorial: http://phphulp.nl/php/tutorials/2/437/ gebruikt om een connectie op te zetten.
Het script op: http://server.celp.nl/
en het script op http://smcextra.com/connection.php
als ik naar http://smcextra.com/connection.php ga, zou ik toch de pagina van server.celp.nl te zien moeten krijgen? Waarom krijg ik dan toch bad request?
Het script op: http://server.celp.nl/
en het script op http://smcextra.com/connection.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
$server = "www.server.celp.nl";
$script = "/index.php";
// Maak socket - ik ga er van uit dat het lukt, dus geen error afhandeling :)
$sock = fsockopen($server, 80);
if ( $sock )
{
$szParams = "user=rudie&pass=" . urlencode("mijn wachtwoord");
$headers = "POST ".$script." HTTP/1.1\r\n";
$headers.= "Content-Type: application/x-www-form-urlencoded\r\n";
$headers.= "Content-Length: ".strlen($szParams)."\r\n";
$headers.= "Connection: Close";
$headers.= "\r\n"; // met een extra 'open regel' maken we http duidelijk dat de headers afgelopen zijn
// En nu http headers naar de server schrijven
fwrite($sock, $headers);
fwrite($sock, $szParams);
// En minstens zo belangrijk, headers (en meer) ophalen en opslaan
$output = "";
while ( !feof($sock) )
{
$output .= fread($sock, 4096);
}
// $output bestaat nu uit twee onderdelen: Headers en Data
// Om uit elkaar te houden: headers is TOT de eerste open regel, dus \r\n\r\n
list($headers, $body) = explode("\r\n\r\n", $output, 2);
// Maar we printen even alles voor de duidelijkheid
echo $output;
}
?>
$server = "www.server.celp.nl";
$script = "/index.php";
// Maak socket - ik ga er van uit dat het lukt, dus geen error afhandeling :)
$sock = fsockopen($server, 80);
if ( $sock )
{
$szParams = "user=rudie&pass=" . urlencode("mijn wachtwoord");
$headers = "POST ".$script." HTTP/1.1\r\n";
$headers.= "Content-Type: application/x-www-form-urlencoded\r\n";
$headers.= "Content-Length: ".strlen($szParams)."\r\n";
$headers.= "Connection: Close";
$headers.= "\r\n"; // met een extra 'open regel' maken we http duidelijk dat de headers afgelopen zijn
// En nu http headers naar de server schrijven
fwrite($sock, $headers);
fwrite($sock, $szParams);
// En minstens zo belangrijk, headers (en meer) ophalen en opslaan
$output = "";
while ( !feof($sock) )
{
$output .= fread($sock, 4096);
}
// $output bestaat nu uit twee onderdelen: Headers en Data
// Om uit elkaar te houden: headers is TOT de eerste open regel, dus \r\n\r\n
list($headers, $body) = explode("\r\n\r\n", $output, 2);
// Maar we printen even alles voor de duidelijkheid
echo $output;
}
?>
als ik naar http://smcextra.com/connection.php ga, zou ik toch de pagina van server.celp.nl te zien moeten krijgen? Waarom krijg ik dan toch bad request?
Gesponsorde koppelingen:
Quote:
Fatal error: Call to undefined function: socket_create() in /www/htdocs/v035461/connection.php on line 13
oftewel, de functie socket_create() kan niet worden gevonden door PHP. Of de functie bestaat niet, of het bestand is niet geïnclude, de functienaam bevat een spelfout o.i.d. .. Welke van de 2 codes is connection.php?
Ik heb het probleem gevonden denk ik. De scripts zijn nu wat anders dus jullie kunnen niet helpen. Als nog problemen vind meld ik het wel.



