mboost-dp1
PHP - Hent indhold fra side med domæne validering
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Hey,
Er der nongen som ved om det er muligt at hente indhold fra en anden side via PHP funktionen: file_get_contents når den pågældene side som jeg skal hente indholdet fra kræver brugernavn/adgangskode.
Siden som jeg skal hente indhold fra ligger på en Windows server som kræver domæne validering.
Eksempel:
brugernavn: domæne\brugernavn
adgangskode: *****
Er der nongen som ved om det er muligt at hente indhold fra en anden side via PHP funktionen: file_get_contents når den pågældene side som jeg skal hente indholdet fra kræver brugernavn/adgangskode.
Siden som jeg skal hente indhold fra ligger på en Windows server som kræver domæne validering.
Eksempel:
brugernavn: domæne\brugernavn
adgangskode: *****
Hvis det er HTTP Auth
Tada:
http://www.electrictoolbox.com/php-curl-sending-us...
Ellers er det ikke så svært at sende post variables også
Tada:
http://www.electrictoolbox.com/php-curl-sending-us...
Ellers er det ikke så svært at sende post variables også
#3 Når jeg prøver HTTP Auth koden fra dit link får jeg følgende tekst på min side: Object moved to here.
Kan jeg godt sende post variabel når login formen ser sådan her ud:
http://peecee.dk/uploads/032012/login.png
Kan jeg godt sende post variabel når login formen ser sådan her ud:
http://peecee.dk/uploads/032012/login.png
Hvis du er i tvivl om authentication typen kan du evt. kigge på response headers fra serveren (evt. med firebug, eller andet) f.eks:
WWW-Authenticate Basic realm="hemmelig side"
(egentlig en ret sjov fejl med linket ovenfor :)
WWW-Authenticate Basic realm="hemmelig side"
(egentlig en ret sjov fejl med linket ovenfor :)
#11 Mener du sådan her? I så fald giver det mig ikke rigtigt noget.
<?php
header('WWW-Authenticate: Basic realm="hemmelig side"');
$url = "http://url.dk";
$username = "brugernavn";
$password = "****";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
echo $output;
echo $info;
?>
<?php
header('WWW-Authenticate: Basic realm="hemmelig side"');
$url = "http://url.dk";
$username = "brugernavn";
$password = "****";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_NTLM);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
echo $output;
echo $info;
?>
Fifan (12) skrev:#11 Mener du sådan her? I så fald giver det mig ikke rigtigt noget.
http://peecee.dk/uploads/032012/headers.png
#12 - Nej jeg mener at du skal kigge på svaret når du f.eks taster urlen i din browser .. Det kan du gøre med de fleste developer tools til diverse browsere.
mere præcis er det WWW-Authenticate headeren du skal kigge efter.
mere præcis er det WWW-Authenticate headeren du skal kigge efter.
Har du prøvet bare at bruge file_get_contents?
echo file_get_contents('http://'. urlencode($domain.'\\'.$user).
':'.$password.'@server.dk/hemmeligt');
Virker fint hos mig, godt nok mod en Basic auth hvor brugernavnet har et backslash..
echo file_get_contents('http://'. urlencode($domain.'\\'.$user).
':'.$password.'@server.dk/hemmeligt');
Virker fint hos mig, godt nok mod en Basic auth hvor brugernavnet har et backslash..
Ved nærmere eftertanke vil ovenstående nok ikke virke, men som andre siger kunne object moved indikere at der er tale om et header redirect, som curl måske ikke er sat op til at følge ?
Jeg har fundet noget kode på php.net som jeg har modificeret lidt, prøv om det ikke virker
http://pastebin.com/eHNEnS75
du skal så bare kalde get_url med de første 3 parametre
http://pastebin.com/eHNEnS75
du skal så bare kalde get_url med de første 3 parametre
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.