Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Vladimír Drgoňa 08. 09. 2012, 20:08:07

Název: Curl v PHP nefunguje s IIS
Přispěvatel: Vladimír Drgoňa 08. 09. 2012, 20:08:07
Ahojte, cez curl v php bežne ťahám dáta z iných URL, používam na to napríklad toto:
Kód: [Vybrat]
function download_remote($url , $save_path)    {
  $ch = curl_init();
  $fh = fopen($save_path, 'w');
  curl_setopt($ch, CURLOPT_FILE, $fh);
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_exec($ch);
  fflush($fh);
  fclose($fh);
}
Funkcia funguje, párkrát som kód z nej použil. Teraz potrebujem stiahnuť niečo z podivného webového servera, pretože mi miesto požadovaného obsahu vracia vytrvale toto:
Kód: [Vybrat]
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
<hr>
<address>Microsoft-IIS/6.0 Server at www.*******.sk Port 80</address>
</body></html>
Neviete prečo sa tento zvláštny a takmer sa nevyskytujúci server správa tak podivne? Prípadne rady, ako by som sa dostal k požadovanému obsahu. Na tomto serveri Java bohužiaľ nie je, v nej funguje stiahnutie súboru bez problémov.
Název: Re:CURL v php
Přispěvatel: PCnity 08. 09. 2012, 21:09:12
Nakolko ides na port 80, nahod si tcpdump na styl:

tcpdump -i any -v -n host <IPadresa> -s 0 -w ./tcpdump

Nasledne sa pozri wiresharkom na request ktory CURL spravi. Serveru sa nepaci request.
Název: Re:CURL v php
Přispěvatel: Vladimír Drgoňa 10. 09. 2012, 09:27:37
Ďakujem za radu, ale na serveri som nemal tieto možnosti. Stačilo pritom nastaviť USER-AGENT a curl funguje.